TidySmith
Kód C# uspořádaný tak, jak to chce váš tým: členy seřazené a seskupené, s náhledem a jedním vrácením zpět; oblasti podle vašich pravidel; komentáře zalomené na délku řádku — a šedé tečky v editoru tam, kde se dá něco uklidit.
Zdarma · Visual Studio 2022 a 2026 · 14 jazyků rozhraní · bez telemetrie
Proč TidySmith

Bezpečný už z principu
Postaveno na syntaktickém stromu Roslynu: členy se přesouvají i se svými komentáři, dokumentací a atributy; hranice bloků #if a #region se nikdy nepřekračují; třídy, které nelze bezpečně seřadit, zůstanou netknuté. Náhled nejdřív ukáže rozdíly a „Použít“ je jedno vrácení zpět.
Pořadí vašeho týmu
Pořadí skupin, přístup, statické členy, názvy — nastavte je na stránce možností nebo je uložte do .editorconfig a všichni dostanou stejný výsledek. Předvolby pro StyleCop a CodeMaid jsou vestavěné.
Objevíte i bez návodu
Šedé tečky pod třídou, která není seřazená, nebo pod příliš dlouhým komentářem; Ctrl+. nabídne opravu vedle akcí Visual Studia. Až budete příkazy znát, nápovědy vypněte.
Zdarma a bez háčků
Žádné předplatné, žádná verze „pro“, žádný sběr dat a žádné zprávy v okně „Výstup“ ani při spuštění. Jediné, o co kdy požádáme — až ho nějakou dobu budete používat — je hodnocení na Marketplace. Funguje ve Visual Studiu 2022 a 2026, x64 i ARM64.
Funkce
- Seřazení členů třídy, souboru nebo souborů vybraných v Průzkumníku řešení — s náhledem toho, co se přesune.
- Nápovědy v editoru: šedé tečky tam, kde se dá něco uklidit, oprava v žárovce (Ctrl+.).
- Oblasti podle vašich pravidel: podle skupiny členů, podle přístupu nebo obojího, s vašimi názvy oblastí; nebo vůbec bez oblastí.
- Komentáře, které se vejdou: komentáře
//a///zalomené na délku řádku, krátké řádky spojené. - Úklid při uložení: zvolené kroky se spustí při uložení souboru C#; ve výchozím nastavení vypnuto.
- Okno struktury: členy souboru, velikost a složitost metod, změna pořadí přetažením.
- Drobní pomocníci: přepnutí na související soubor, řazení a spojování řádků, vyhledání souboru v Průzkumníku řešení, sbalení či rozbalení jen oblastí.
Všechny příkazy jsou v nabídce Upravit › TidySmith a v místní nabídce editoru kódu (pravé tlačítko › TidySmith); Order Members také v místní nabídce souborů, složek a projektů v Průzkumníku řešení.
Seřazení členů
Order Members… seřadí členy třídy podle druhu (konstanty, pole, konstruktory, vlastnosti, metody…), pak podle přístupu (nejdřív veřejné), statické před členy instance a, pokud chcete, podle názvu — v pořadí nastaveném na stránce možností nebo v .editorconfig.
- Nejdřív náhled: rozdíly ukazující, co se přesune; Použít je jedna úprava, takže jedno vrácení zpět vrátí vše. „Znovu se neptat“ náhled vypne.
- Kde: třída pod kurzorem nebo celý soubor (volí se v náhledu), nebo každý soubor C# vybraný v Průzkumníku řešení — soubory, složky, projekty.
- Co se přesouvá spolu se členem: jeho komentáře, dokumentace a atributy. Prázdné řádky zůstanou, jak byly; mezi skupiny se vloží jeden prázdný řádek.
- Na co se nikdy nesáhne: členy uvnitř
#ifnebo#regionse řadí jen v rámci svého bloku; třídy se členem na řádku se složenou závorkou, se dvěma členy na jednom řádku nebo se syntaktickými chybami zůstanou, jak jsou; generované soubory (*.g.cs,*.Designer.cs) se přeskakují.
Předvolby, od kterých lze začít: TidySmith (přetížení a implementace rozhraní pohromadě), StyleCop (SA1201, SA1202, SA1204 — přísně podle přístupu) a CodeMaid (výchozí pořadí CodeMaid, pro týmy, které z něj přecházejí).
Nápovědy v editoru
Tam, kde TidySmith může pomoci, se pod názvem objeví tři šedé tečky — stejně jako Visual Studio označuje vlastní návrhy. Ukazatel na nich řekne, o co jde; Ctrl+. nabídne opravu s náhledem změny.

| Kurzor na | Ctrl+. nabídne |
|---|---|
| Názvu třídy | Seřadit členy třídy nebo souboru, přidat oblasti podle vašich pravidel, odstranit oblasti třídy, otevřít v okně struktury |
| Komentáři delším než délka řádku | Zalomit komentář |
Řádku #region | Odstranit tuto oblast (kód zůstane) |
| Několika vybraných řádcích | Seřadit řádky (jen plochý seznam), spojit řádky |
Tečky se objeví u třídy, která není seřazená, u komentáře delšího než délka řádku a u oblastí, které se liší od vašich pravidel — a nikde jinde. Tečky a akce v žárovce mají samostatné přepínače; „Jen v souborech, které jsem změnil“ nechá starý kód na pokoji.
Oblasti podle vašich pravidel
Add Regions to This File… po náhledu vloží řádky #region tam, kde to říkají vaše pravidla. Oblasti jsou rozhodnutím týmu, proto je výchozí volba bez oblastí: dokud nevyberete, příkaz otevře nastavení.

- Jak rozdělit: jedna oblast na skupinu členů (Fields, Methods…), na úroveň přístupu (Public, Private…) nebo obojí (Public methods).
- Vaše názvy: každá skupina má svůj název oblasti; skupiny se stejným názvem sdílejí oblast, vypnutá skupina zůstane mimo oblasti. Implementace rozhraní mohou dostat oblast pojmenovanou podle rozhraní (IDisposable).
- Bez šumu: méně členů, než je minimum (výchozí 2), oblast nedostane; oblast kolem jednoho konstruktoru nikomu nepomůže.
- Spusťte znovu kdykoli: oblasti uvnitř tříd se znovu sestaví, nevnořují se. Členy se nejdřív seřadí, takže každá skupina je v jednom kuse.
- Ručně: Add Region Around Selection (kurzor čeká za
#regionna název), Remove Region at Caret, Remove Regions in This File — zmizí jen řádky#regiona#endregion, kód zůstane.
Pravidlo StyleCop SA1124 oblasti zakazuje; proto je výchozí volba bez oblastí — a proto je úklid při uložení s tímto nastavením odstraňuje.
Úklid při uložení
Při uložení souboru C# může TidySmith seřadit jeho členy, vložit oblasti podle pravidel, zalomit komentáře a odstranit mezery na konci řádků a nadbytečné prázdné řádky — každý krok má vlastní přepínač. Jen ukládaný soubor, nikdy generované soubory; stavový řádek řekne, co se změnilo, a Ctrl+Z to vrátí zpět. Tidy This File spustí stejné kroky na požádání.
Ve výchozím nastavení vypnuto. Zapněte to, až Order Members dává výsledek, jaký váš tým chce — jinak první uložení starého souboru přeskládá úplně všechno.
Okno struktury
Zobrazit › Další okna › TidySmith Structure: typy a členy aktivního souboru C#. Okno sleduje kurzor, kliknutí přejde na člen, hledání filtruje a člen přetažený na jiný se tam přesune — stejně bezpečně jako v Order Members. Metody ukazují svou délku a cyklomatickou složitost; po překročení limitů ze stránky možností zoranžoví.

Drobní pomocníci
Příkazy, které lidem po CodeMaid chyběly, v nabídce Upravit › TidySmith a v místní nabídce editoru.
Switch File
Otevře soubor, který patří k aktuálnímu — značky a jejich kód, soubor prostředků a jeho návrhář, kód a jeho testy — bez hledání v Průzkumníku řešení.
| Z | Do (a zpět) |
|---|---|
MainWindow.xaml | MainWindow.xaml.cs |
Order.razor | Order.razor.cs |
Index.cshtml | Index.cshtml.cs |
Strings.resx | Strings.Designer.cs |
MainForm.cs | MainForm.Designer.cs |
OrderService.cs | OrderServiceTests.cs — i v testovacím projektu řešení; také …Test.cs a ….Tests.cs |
Nabídka uvádí cíl („Switch to OrderServiceTests.cs“) a je vypnutá, když není kam přejít. Nejlépe funguje s vlastní klávesou — viz níže.
Sort Selected Lines
Seřadí direktivy using, členy enum nebo položky seznamu; čárky zůstanou tam, kde je seznam potřebuje. Řadí se jen plochý seznam — jedna položka na řádek, stejné odsazení, bez prázdných řádků a příkazů — takže omylem vybraná metoda nebo celý soubor se nikdy nepromíchá; stavový řádek řekne proč.
Join Lines
Spojí vybrané řádky do jednoho, nebo řádek pod kurzorem s následujícím.
Find This File in Solution Explorer
Vybere soubor z editoru v Průzkumníku řešení.
Collapse a Expand All Regions
Sbalí nebo rozbalí jen bloky #region; metody zůstanou, jak jsou. Na rozdíl od Ctrl+M, Ctrl+O (sbalí i metody) a Ctrl+M, Ctrl+L (všechno).
Ve výchozím nastavení není obsazená žádná klávesová zkratka — klávesy Visual Studia zůstanou, jak jsou. Libovolný příkaz přiřaďte v Nástroje › Možnosti › Prostředí › Klávesnice: do pole „Zobrazit příkazy obsahující“ napište TidySmith..
Nastavení
Nástroje → Možnosti → SmithWorks → TidySmith. Každá možnost má popis.
| Možnost | Výchozí |
|---|---|
| Akce TidySmith v žárovce (Ctrl+.) | zapnuto |
| Šedé tečky tam, kde se dá něco uklidit | zapnuto |
| Pořadí členů | předvolba TidySmith |
| Náhled před seřazením | zapnuto |
| Oblasti | bez oblastí |
| Délka řádku komentářů | 120 |
| Úklid při uložení | vypnuto |
| Dlouhá metoda (řádky) · složitá metoda | 60 · 10 |
| Požádat o hodnocení na Marketplace | zapnuto |
Nastavení se ukládá do %LocalAppData%\TidySmith; přednost má .editorconfig, pokud v něm hodnota je.

Pro repozitář: .editorconfig
Uložte pravidla vedle kódu a celý tým dostane stejný výsledek; hodnota v .editorconfig má přednost před stránkou možností (pokud není vypnutá možnost „Použít pořadí z .editorconfig“).
[*.cs]
tidysmith_member_order = stylecop
tidysmith_regions = kind
tidysmith_region_min = 2
max_line_length = 120
| Klíč | Hodnoty |
|---|---|
tidysmith_member_order | tidysmith, stylecop, codemaid nebo skupiny v pořadí: constants, fields, constructors, properties, methods… |
tidysmith_regions | none, kind, access, kind_access |
tidysmith_region_min | Nejmenší počet členů, pro který se oblast vytvoří: 2 |
max_line_length | Délka řádku, na kterou se komentáře zalamují |
Časté dotazy
Čím se liší od CodeMaid?
TidySmith pracuje se syntaktickým stromem Roslynu místo starého modelu kódu, takže #if, komentáře a atributy zůstanou, kde mají být; ukazuje náhled a vrací se jedním krokem; pořadí může být uložené v .editorconfig; běží ve Visual Studiu 2022 a 2026 na x64 i ARM64. Podporuje jen C# a vynechává to, co Visual Studio dnes umí samo (vyčištění kódu, průběh sestavení).
Proč se třída neseřadila?
TidySmith nechá třídu být, když by ji seřazení mohlo rozbít nebo zkomolit: syntaktická chyba, člen na řádku se složenou závorkou, dva členy na jednom řádku. Členy uvnitř #if nebo #region se přesouvají jen v rámci svého bloku. Na generované soubory se nikdy nesahá.
Můžu změnu vrátit?
Ano: každý příkaz a každé uložení je jedna úprava, takže ji jedno Ctrl+Z vrátí. V Průzkumníku řešení se neotevřené soubory zapisují na disk — tam použijte správu verzí.
Proč Sort Selected Lines nic neudělal?
Řadí jen plochý seznam, takže výběr, který je kódem — příkazy, bloky, řádky s různým odsazením nebo s prázdnými řádky mezi nimi — se nikdy nepromíchá. Stavový řádek to oznámí.
Add Regions nic nedělá.
Výchozí pravidla jsou bez oblastí. Zvolte, jak je rozdělit, ve skupině Oblasti v nastavení (příkaz ji otevře), nebo nastavte tidysmith_regions v .editorconfig.
A co VB, C++ nebo XAML?
TidySmith je pro C#. Další jazyky mohou přibýt, pokud o ně bude zájem — napište nám do repozitáře Feedback.
Odesílá TidySmith nějaká data?
Ne. Vše běží uvnitř Visual Studia nad vašimi soubory; nic se nikam neodesílá — žádná telemetrie, žádné požadavky.
Kde nahlásit problém nebo navrhnout funkci?
Založte issue v repozitáři Feedback na GitHubu — jsou tam formuláře pro chyby a nápady (prosím změňte soukromé názvy). Můžete také použít kartu Q&A na Marketplace.
Historie změn
1.0.2
- Jednorázová žádost o hodnocení na Marketplace, až bude rozšíření užitečné — s možnostmi Později a Už se neptat a s volbou, jak ji vypnout.
1.0.1
- Order Members a okno Structure na panelu nástrojů SmithWorks, společném s ostatními rozšířeními SmithWorks (Zobrazit › Panely nástrojů › SmithWorks).
1.0.0
- První veřejné vydání.
Komentáře, které se vejdou
Format Comment zalomí komentář
//nebo///pod kurzorem (nebo všechny komentáře souboru) na délku řádku —max_line_lengthz.editorconfig, nebo 120. Dlouhé řádky se rozdělí, krátké spojí, dlouhý<summary>dostane vlastní řádky. Ukázky kódu (<code>), seznamy, oddělovací řádky a zakomentovaný kód zůstanou, jak jsou.