LazowskiAnton · Extensions

TidySmith

C#-Code in der Reihenfolge, die Ihr Team möchte: Member sortiert und gruppiert, mit Vorschau und einem einzigen Rückgängig, Regionen nach Ihren Regeln, Kommentare auf Ihre Zeilenlänge umbrochen – und graue Punkte im Editor, wo sich etwas aufräumen lässt.

Kostenlos · Visual Studio 2022 und 2026 · 14 UI-Sprachen · keine Telemetrie

Warum TidySmith

Eine Klasse vor und nach Order Members: zuerst Konstanten und Felder, dann der Konstruktor, Eigenschaften und Methoden

Sicher von Grund auf

Basiert auf dem Roslyn-Syntaxbaum: Member wandern mit ihren Kommentaren, ihrer Dokumentation und ihren Attributen; #if- und #region-Blöcke werden nie überschritten; Klassen, die sich nicht sicher sortieren lassen, bleiben unberührt. Eine Vorschau zeigt zuerst den Diff, und Übernehmen ist ein einziges Rückgängig.

Die Reihenfolge Ihres Teams

Reihenfolge der Gruppen, Zugriff, statische Member, Namen – auf der Optionsseite festlegen oder in .editorconfig eintragen, damit alle dasselbe Ergebnis erhalten. Voreinstellungen für StyleCop und CodeMaid sind integriert.

Ohne Handbuch zu finden

Graue Punkte unter einer nicht sortierten Klasse oder einem zu langen Kommentar; Ctrl+. bietet die Korrektur neben den Aktionen von Visual Studio an. Sobald Sie die Befehle kennen, schalten Sie die Hinweise aus.

Kostenlos, ohne Haken

Kein Abo, keine „Pro“-Version, keine Datensammlung, keine Meldungen im Fenster „Ausgabe“ oder beim Start. Das Einzige, worum wir je bitten werden – nachdem Sie es eine Weile genutzt haben –, ist eine Bewertung im Marketplace. Läuft unter Visual Studio 2022 und 2026, x64 und ARM64.

Funktionen

Alle Befehle stehen unter Bearbeiten › TidySmith und im Kontextmenü des Code-Editors (Rechtsklick › TidySmith); Order Members zusätzlich im Kontextmenü von Dateien, Ordnern und Projekten im Projektmappen-Explorer.

Member sortieren

Order Members… sortiert die Member einer Klasse nach Art (Konstanten, Felder, Konstruktoren, Eigenschaften, Methoden…), dann nach Zugriff (öffentliche zuerst), statische vor Instanzmembern und auf Wunsch nach Name – in der Reihenfolge, die auf der Optionsseite oder in .editorconfig festgelegt ist.

Voreinstellungen als Ausgangspunkt: TidySmith (Überladungen und Schnittstellenimplementierungen bleiben zusammen), StyleCop (SA1201, SA1202, SA1204 – streng nach Zugriff) und CodeMaid (der CodeMaid-Standard, für Teams, die davon umsteigen).

Hinweise im Editor

Wo TidySmith helfen kann, erhält der Name drei graue Punkte – so, wie Visual Studio seine eigenen Vorschläge markiert. Der Mauszeiger darauf zeigt, worum es geht; Ctrl+. bietet die Korrektur an, mit einer Vorschau der Änderung.

Graue Punkte unter einem Klassennamen und einem langen Kommentar; die Glühbirne mit „Member sortieren“ und ihrer Vorschau
Cursor aufCtrl+. bietet an
Dem Namen einer KlasseMember der Klasse oder der Datei sortieren, Regionen nach Ihren Regeln hinzufügen, die Regionen der Klasse entfernen, im Strukturfenster öffnen
Einem Kommentar, der länger als die Zeilenlänge istDen Kommentar umbrechen
Einer #region-ZeileDiese Region entfernen (der Code bleibt)
Mehreren ausgewählten ZeilenZeilen sortieren (nur eine flache Liste), Zeilen verbinden

Punkte erscheinen bei einer nicht sortierten Klasse, einem Kommentar, der länger als die Zeilenlänge ist, und bei Regionen, die von Ihren Regeln abweichen – sonst nirgends. Punkte und Glühbirnenaktionen haben getrennte Schalter; „Nur in Dateien, die ich geändert habe“ lässt alten Code in Ruhe.

Regionen nach Ihren Regeln

Add Regions to This File… setzt #region-Zeilen dorthin, wo Ihre Regeln es vorsehen, nach einer Vorschau. Regionen sind eine Teamentscheidung, daher ist der Standard keine Regionen: Der Befehl öffnet die Einstellungen, bis Sie gewählt haben.

Regionsregeln und eine Klasse mit den Regionen Fields, Methods und IDisposable

Die StyleCop-Regel SA1124 verbietet Regionen; deshalb ist der Standard „keine Regionen“ – und deshalb entfernt das Aufräumen beim Speichern sie mit dieser Einstellung.

Kommentare, die passen

Format Comment umbricht den //- oder ///-Kommentar am Cursor (oder jeden Kommentar der Datei) auf Ihre Zeilenlänge – max_line_length aus .editorconfig oder 120. Lange Zeilen werden umbrochen, kurze zusammengeführt, ein langes <summary> erhält eigene Zeilen. Codebeispiele (<code>), Listen, Trennlinien und auskommentierter Code bleiben unverändert.

Ein Dokumentationskommentar vor und nach Format Comment

Aufräumen beim Speichern

Beim Speichern einer C#-Datei kann TidySmith ihre Member sortieren, Regionen nach den Regeln setzen, Kommentare umbrechen sowie nachgestellte Leerzeichen und überzählige Leerzeilen entfernen – jeder Schritt hat seinen eigenen Schalter. Nur die gespeicherte Datei, nie generierte Dateien; die Statusleiste zeigt, was sich geändert hat, und Ctrl+Z nimmt es zurück. Tidy This File führt dieselben Schritte auf Anforderung aus.

Standardmäßig aus. Schalten Sie es ein, sobald Order Members das Ergebnis liefert, das Ihr Team möchte – sonst sortiert das erste Speichern einer alten Datei sie komplett um.

Strukturfenster

Ansicht › Weitere Fenster › TidySmith Structure: die Typen und Member der aktiven C#-Datei. Es folgt dem Cursor, ein Klick springt zum Member, die Suche filtert, und ein auf einen anderen gezogener Member wandert dorthin – dieselbe sichere Verschiebung wie bei Order Members. Methoden zeigen ihre Länge und zyklomatische Komplexität; über den Grenzwerten der Optionsseite werden sie orange.

Das Strukturfenster mit den Membern einer Klasse und einer langen Methode in Orange

Kleine Helfer

Die Befehle, die an CodeMaid vermisst wurden, unter Bearbeiten › TidySmith und im Kontextmenü des Editors.

Switch File

Öffnet die Datei, die zur aktuellen gehört – Markup und sein Code, eine Ressourcendatei und ihr Designer, Code und seine Tests –, ohne sie im Projektmappen-Explorer suchen zu müssen.

VonNach (und zurück)
MainWindow.xamlMainWindow.xaml.cs
Order.razorOrder.razor.cs
Index.cshtmlIndex.cshtml.cs
Strings.resxStrings.Designer.cs
MainForm.csMainForm.Designer.cs
OrderService.csOrderServiceTests.cs – auch in einem Testprojekt der Projektmappe; ebenso …Test.cs und ….Tests.cs

Der Menüpunkt nennt das Ziel („Switch to OrderServiceTests.cs“) und ist deaktiviert, wenn es kein Ziel gibt. Am besten mit einer eigenen Tastenkombination – siehe unten.

Sort Selected Lines

Sortiert usings, Enum-Member oder die Einträge einer Liste; die Kommas bleiben dort, wo die Liste sie braucht. Sortiert wird nur eine flache Liste – ein Eintrag pro Zeile, gleicher Einzug, keine Leerzeilen, keine Anweisungen –, sodass eine versehentlich markierte Methode oder ganze Datei nie durcheinandergerät; die Statusleiste sagt, warum.

Join Lines

Verbindet die ausgewählten Zeilen zu einer oder die Zeile am Cursor mit der nächsten.

Find This File in Solution Explorer

Wählt die Datei des Editors im Projektmappen-Explorer aus.

Collapse und Expand All Regions

Reduziert oder erweitert nur die #region-Blöcke; Methoden bleiben, wie sie sind. Anders als Ctrl+M, Ctrl+O (reduziert auch Methoden) und Ctrl+M, Ctrl+L (alles).

Standardmäßig ist keine Tastenkombination belegt – die Tasten von Visual Studio bleiben, wie sie sind. Weisen Sie jedem Befehl eine zu unter Extras › Optionen › Umgebung › Tastatur: Geben Sie TidySmith. in „Befehle mit folgendem Inhalt anzeigen“ ein.

Einstellungen

Extras → Optionen → SmithWorks → TidySmith. Jede Option hat eine Beschreibung.

OptionStandard
TidySmith-Aktionen in der Glühbirne (Ctrl+.)ein
Graue Punkte, wo sich etwas aufräumen lässtein
Reihenfolge der MemberVoreinstellung TidySmith
Vorschau vor dem Sortierenein
Regionenkeine Regionen
Zeilenlänge für Kommentare120
Aufräumen beim Speichernaus
Lange Methode (Zeilen) · komplexe Methode60 · 10
Um eine Bewertung im Marketplace bittenein

Die Einstellungen werden in %LocalAppData%\TidySmith gespeichert; .editorconfig hat Vorrang, wo es einen Wert enthält.

Optionsseite von TidySmith
Die Optionsseite.

Pro Repository: .editorconfig

Legen Sie die Regeln neben den Code, und das ganze Team erhält dasselbe Ergebnis; ein Wert in .editorconfig hat Vorrang vor der Optionsseite (außer wenn „Reihenfolge aus .editorconfig verwenden“ ausgeschaltet ist).

[*.cs]
tidysmith_member_order = stylecop
tidysmith_regions = kind
tidysmith_region_min = 2
max_line_length = 120
SchlüsselWerte
tidysmith_member_ordertidysmith, stylecop, codemaid oder die Gruppen in ihrer Reihenfolge: constants, fields, constructors, properties, methods…
tidysmith_regionsnone, kind, access, kind_access
tidysmith_region_minDie Mindestzahl an Membern für eine Region: 2
max_line_lengthDie Zeilenlänge, auf die Kommentare umbrochen werden

FAQ

Was ist anders als bei CodeMaid?

TidySmith arbeitet mit dem Roslyn-Syntaxbaum statt mit dem alten Codemodell, daher bleiben #if, Kommentare und Attribute, wo sie hingehören; es zeigt eine Vorschau und ist ein einziges Rückgängig; die Reihenfolge kann in .editorconfig stehen; es läuft unter Visual Studio 2022 und 2026 auf x64 und ARM64. Es unterstützt nur C# und lässt weg, was Visual Studio inzwischen selbst kann (Codebereinigung, Buildfortschritt).

Warum wurde eine Klasse nicht sortiert?

TidySmith lässt eine Klasse in Ruhe, wenn das Sortieren sie beschädigen oder verunstalten könnte: ein Syntaxfehler, ein Member auf der Zeile einer Klammer, zwei Member in einer Zeile. Member innerhalb von #if oder #region werden nur innerhalb ihres Blocks verschoben. Generierte Dateien werden nie angefasst.

Kann ich eine Änderung zurücknehmen?

Ja: Jeder Befehl und jedes Speichern ist eine einzige Bearbeitung, ein Ctrl+Z nimmt sie also zurück. Im Projektmappen-Explorer werden nicht geöffnete Dateien direkt auf den Datenträger geschrieben – verwenden Sie dort Ihre Versionskontrolle.

Warum hat Sort Selected Lines nichts getan?

Es sortiert nur eine flache Liste, damit eine Auswahl, die Code ist – Anweisungen, Blöcke, Zeilen mit unterschiedlichem Einzug oder Leerzeilen dazwischen –, nie durcheinandergerät. Die Statusleiste weist darauf hin.

Add Regions tut nichts.

Die Standardregel ist keine Regionen. Wählen Sie in der Gruppe „Regionen“ der Einstellungen, wie aufgeteilt wird (der Befehl öffnet sie), oder setzen Sie tidysmith_regions in .editorconfig.

Was ist mit VB, C++ oder XAML?

TidySmith ist für C#. Andere Sprachen können folgen, wenn danach gefragt wird – schreiben Sie uns im Feedback-Repository.

Sendet TidySmith Daten?

Nein. Alles läuft in Visual Studio auf Ihren Dateien; nichts wird irgendwohin gesendet – keine Telemetrie, keine Anfragen.

Wo melde ich ein Problem oder schlage eine Funktion vor?

Erstellen Sie ein Issue im Repository Feedback auf GitHub – dort gibt es Formulare für Fehler und Ideen (bitte ändern Sie vertrauliche Namen). Sie können auch die Registerkarte „Q&A“ im Marketplace verwenden.

Änderungsprotokoll

1.0.2

1.0.1

1.0.0