LazowskiAnton · Extensions

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

Třída před a po Order Members: nejdřív konstanty a pole, pak konstruktor, vlastnosti a metody

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

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.

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.

Šedé tečky pod názvem třídy a dlouhým komentářem; žárovka s akcí seřazení členů a jejím náhledem
Kurzor naCtrl+. nabídne
Názvu třídySeř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 řádkuZalomit komentář
Řádku #regionOdstranit tuto oblast (kód zůstane)
Několika vybraných řádcíchSeř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í.

Pravidla oblastí a třída s oblastmi Fields, Methods a IDisposable

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.

Komentáře, které se vejdou

Format Comment zalomí komentář // nebo /// pod kurzorem (nebo všechny komentáře souboru) na délku řádku — max_line_length z .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.

Dokumentační komentář před a po Format Comment

Ú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í.

Okno struktury se členy třídy a dlouhou metodou oranž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í.

ZDo (a zpět)
MainWindow.xamlMainWindow.xaml.cs
Order.razorOrder.razor.cs
Index.cshtmlIndex.cshtml.cs
Strings.resxStrings.Designer.cs
MainForm.csMainForm.Designer.cs
OrderService.csOrderServiceTests.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žnostVýchozí
Akce TidySmith v žárovce (Ctrl+.)zapnuto
Šedé tečky tam, kde se dá něco ukliditzapnuto
Pořadí členůpředvolba TidySmith
Náhled před seřazenímzapnuto
Oblastibez oblastí
Délka řádku komentářů120
Úklid při uloženívypnuto
Dlouhá metoda (řádky) · složitá metoda60 · 10
Požádat o hodnocení na Marketplacezapnuto

Nastavení se ukládá do %LocalAppData%\TidySmith; přednost má .editorconfig, pokud v něm hodnota je.

Stránka možností TidySmith
Stránka možností.

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_ordertidysmith, stylecop, codemaid nebo skupiny v pořadí: constants, fields, constructors, properties, methods…
tidysmith_regionsnone, kind, access, kind_access
tidysmith_region_minNejmenší počet členů, pro který se oblast vytvoří: 2
max_line_lengthDé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

1.0.1

1.0.0