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

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
- Member sortieren – in einer Klasse, einer Datei oder den im Projektmappen-Explorer ausgewählten Dateien, mit einer Vorschau dessen, was verschoben wird.
- Hinweise im Editor: graue Punkte, wo sich etwas aufräumen lässt, die Korrektur in der Glühbirne (Ctrl+.).
- Regionen nach Ihren Regeln: nach Membergruppe, nach Zugriff oder beidem, mit Ihren Regionsnamen; oder gar keine Regionen.
- Kommentare, die passen:
//- und///-Kommentare auf Ihre Zeilenlänge umbrochen, kurze Zeilen zusammengeführt. - Aufräumen beim Speichern: Die gewählten Schritte laufen beim Speichern einer C#-Datei; standardmäßig aus.
- Strukturfenster: die Member der Datei, Größe und Komplexität der Methoden, Umsortieren per Ziehen.
- Kleine Helfer: zur zugehörigen Datei wechseln, Zeilen sortieren und verbinden, die Datei im Projektmappen-Explorer finden, nur die Regionen reduzieren oder erweitern.
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.
- Zuerst eine Vorschau: der Diff dessen, was verschoben wird; Übernehmen ist eine einzige Bearbeitung, ein Rückgängig nimmt also alles zurück. „Nicht mehr fragen“ schaltet die Vorschau aus.
- Wo: die Klasse am Cursor oder die ganze Datei (in der Vorschau gewählt) oder jede im Projektmappen-Explorer ausgewählte C#-Datei – Dateien, Ordner, Projekte.
- Was mit einem Member wandert: seine Kommentare, seine Dokumentation und seine Attribute. Leerzeilen bleiben, wie sie waren; zwischen Gruppen steht eine Leerzeile.
- Was nie angefasst wird: Member innerhalb von
#ifoder#regionwerden nur innerhalb ihres Blocks sortiert; Klassen mit einem Member auf der Zeile einer Klammer, zwei Membern in einer Zeile oder Syntaxfehlern bleiben, wie sie sind; generierte Dateien (*.g.cs,*.Designer.cs) werden übersprungen.
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.

| Cursor auf | Ctrl+. bietet an |
|---|---|
| Dem Namen einer Klasse | Member 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 ist | Den Kommentar umbrechen |
Einer #region-Zeile | Diese Region entfernen (der Code bleibt) |
| Mehreren ausgewählten Zeilen | Zeilen 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.

- Wie aufgeteilt wird: eine Region pro Membergruppe (Fields, Methods…), pro Zugriff (Public, Private…) oder beides (Public methods).
- Ihre Namen: Jede Gruppe hat ihren Regionsnamen; Gruppen mit demselben Namen teilen sich eine Region, eine ausgeschaltete Gruppe bleibt außerhalb von Regionen. Schnittstellenimplementierungen können eine Region erhalten, die nach der Schnittstelle benannt ist (IDisposable).
- Kein Rauschen: Weniger Member als das Minimum (standardmäßig 2) erhalten keine Region; eine Region um einen einzelnen Konstruktor hilft niemandem.
- Jederzeit erneut ausführen: Die Regionen innerhalb von Klassen werden neu aufgebaut, nicht verschachtelt. Die Member werden zuerst sortiert, sodass jede Gruppe an einem Stück ist.
- Von Hand: Add Region Around Selection (der Cursor wartet nach
#regionauf den Namen), Remove Region at Caret, Remove Regions in This File – nur die Zeilen#regionund#endregionverschwinden, der Code bleibt.
Die StyleCop-Regel SA1124 verbietet Regionen; deshalb ist der Standard „keine Regionen“ – und deshalb entfernt das Aufräumen beim Speichern sie mit dieser Einstellung.
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.

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.
| Von | Nach (und zurück) |
|---|---|
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 – 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.
| Option | Standard |
|---|---|
| TidySmith-Aktionen in der Glühbirne (Ctrl+.) | ein |
| Graue Punkte, wo sich etwas aufräumen lässt | ein |
| Reihenfolge der Member | Voreinstellung TidySmith |
| Vorschau vor dem Sortieren | ein |
| Regionen | keine Regionen |
| Zeilenlänge für Kommentare | 120 |
| Aufräumen beim Speichern | aus |
| Lange Methode (Zeilen) · komplexe Methode | 60 · 10 |
| Um eine Bewertung im Marketplace bitten | ein |
Die Einstellungen werden in %LocalAppData%\TidySmith gespeichert; .editorconfig hat Vorrang, wo es einen Wert enthält.

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üssel | Werte |
|---|---|
tidysmith_member_order | tidysmith, stylecop, codemaid oder die Gruppen in ihrer Reihenfolge: constants, fields, constructors, properties, methods… |
tidysmith_regions | none, kind, access, kind_access |
tidysmith_region_min | Die Mindestzahl an Membern für eine Region: 2 |
max_line_length | Die 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
- Eine einmalige Bitte um eine Bewertung im Marketplace, nachdem die Erweiterung nützlich war – mit Später und Nicht mehr fragen sowie einer Option zum Abschalten.
1.0.1
- Order Members und das Fenster Structure auf der Symbolleiste SmithWorks, die alle SmithWorks-Erweiterungen teilen (Ansicht › Symbolleisten › SmithWorks).
1.0.0
- Erste öffentliche Version.
Kommentare, die passen
Format Comment umbricht den
//- oder///-Kommentar am Cursor (oder jeden Kommentar der Datei) auf Ihre Zeilenlänge –max_line_lengthaus.editorconfigoder 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.