Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit Code-Stil-Einstellungen können Sie Aspekte des Codes steuern, wie z. B. Einzugsstil, Tabstoppbreite, Codierung, Zeilenendzeichen und viele andere Formatierungsoptionen. Sie können Codeformateinstellungen auf zwei Arten definieren:
- Pro Codebase oder pro Projekt mithilfe einer EditorConfig-Datei oder
- Für den gesamten Code, den Sie in Visual Studio basierend auf den Einstellungen für die Seite ".NET-Optionen " oder " C/C++-Optionen" des Text-Editors bearbeiten.
Sie können Visual Studio auch so konfigurieren, dass Codeformateinstellungen mithilfe der Befehle "Codebereinigung " und " Dokument formatieren " angewendet werden.
Sie können Code-Stil-Einstellungen pro Projekt mithilfe einer EditorConfig-Datei definieren oder für den gesamten Code, den Sie in Visual Studio bearbeiten, auf der Seite mit den .NET-Optionen oder der Seite mit den C/C++-Optionen des Text-Editors festlegen. Für C#-Code können Sie visual Studio auch so konfigurieren, dass diese Codeformateinstellungen mithilfe der Befehle CodeBereinigung (Visual Studio 2019) und "Dokument formatieren " (Visual Studio 2017) angewendet werden.
Für .NET basieren die Codestileinstellungen auf .NET-Compilerplattform(Roslyn)-Analyzern. Weitere Informationen finden Sie unter Codeanalyse mithilfe von .NET Compiler Platform (Roslyn)-Analysegeräten.
In Visual Studio 2019, Version 16.5 und höher, wurden Rule-Set-Dateien durch EditorConfig-Dateien für die Konfiguration des Codestils von .NET-Code abgeschafft. Weitere Informationen finden Sie unter Konvertieren einer vorhandenen Regelsatzdatei in eine EditorConfig-Datei.
Code-Stile in EditorConfig-Dateien
Codeformateinstellungen können durch Hinzufügen einer EditorConfig-Datei zu Ihrem Projekt angegeben werden. EditorConfig-Dateien werden einer Codebasis und nicht einem Visual Studio-Personalisierungskonto zugeordnet. Einstellungen in einer EditorConfig-Datei haben Vorrang vor Codeformatvorlagen, die im Dialogfeld Optionen angegeben sind. Verwenden Sie eine EditorConfig-Datei, wenn Sie Codierungsstile für alle Mitwirkenden für Ihr Repository oder Projekt erzwingen möchten. Sie sind besonders nützlich, um die Konsistenz in einer Teams-Programmierumgebung sicherzustellen.
Informationen zum Hinzufügen einer EditorConfig-Datei finden Sie unter Hinzufügen und Entfernen von EditorConfig-Dateien.
Referenzinformationen zu .NET-Codeformatvorlageneinstellungen finden Sie unter Codeformatvorlageneinstellungen.
C/C++-Codeformatvorlagen im Dialogfeld "Optionen"
Sie können viele einzelne Codeformatierungsoptionen angeben, z. B. Einzug und Klammerpositionen. Wechseln Sie dazu zu Extras>Optionen>Text-Editor>C/C++>Code Stil>Formatierung (oder drücken Sie STRG+Q und suchen Sie nach "Formatierung"). Alternativ können Sie eine der ClangFormat-Formatvorlagen (oder ihre eigene benutzerdefinierte ClangFormat-Formatvorlage) angeben.
Sie können viele einzelne Codeformatierungsoptionen angeben, z. B. Einzug und Klammerpositionen. Wechseln Sie dazu zu Extras>Optionen>Text Editor>C/C++>-Formatierung (oder geben Sie Strg + Q ein und suchen Sie nach "Formatierung"). Alternativ können Sie eine der ClangFormat-Formatvorlagen (oder ihre eigene benutzerdefinierte ClangFormat-Formatvorlage) angeben.
Weitere Informationen zu allen Formatierungsoptionen finden Sie unter "Optionen", "Text-Editor", "C/C++", "Formatierung".
.NET-Codeformatvorlagen im Dialogfeld "Optionen"
Code-Stilpräferenzen können für alle C#- und Visual Basic-Projekte festgelegt werden, indem Sie das Dialogfeld Optionen im Menü Extras öffnen. Wählen Sie im Dialogfeld "Optionen " den Text-Editor> [C# oder Visual Basic] >Codeformat aus.
- Wählen Sie für Formatvorlagen eine Option unter Formatierung aus.
- Wählen Sie optionen unter "Allgemein" oder "Benennung" aus, um Codestileinstellungen für Schnelle Aktionen und IDE-Codestilregeln zu verwenden.
Code-Stilpräferenzen können für alle C#- und Visual Basic-Projekte festgelegt werden, indem Sie das Dialogfeld Optionen im Menü Extras öffnen. Wählen Sie im Dialogfeld Optionen die Option Text-Editor> [C# oder Basic] >Codeformat>Allgemein aus.
Jedes Element in der Liste zeigt eine Vorschau der Einstellung an, wenn Sie die Option auswählen:
In diesem Fenster festgelegte Optionen gelten für Ihr Visual Studio-Personalisierungskonto und sind keinem bestimmten Projekt oder Codebasis zugeordnet. Darüber hinaus werden sie auch nicht während des Buildprozesses erzwungen, auch nicht bei CI-Builds (Continuous Integration). Wenn Sie Ihrem Projekt Codestileinstellungen zuordnen möchten und die Formatvorlagen während des Builds erzwungen werden sollen, geben Sie die Einstellungen in einer EditorConfig-Datei an, die dem Projekt zugeordnet ist.
Präferenz und Schweregrad
Für jede Code-Stil-Einstellung auf den Einstellungsseiten Allgemein und Benennung können Sie die Präferenz und Schweregradwerte mithilfe der Dropdowns in jeder Zeile festlegen. Der Schweregrad kann auf Nur Refactoring, Vorschlag, Warnung oder Fehler festgelegt werden.
- Die Code-Stil-Vorgaben in den Optionen "Allgemein" und "Benennung" legen die Schnellaktionen für einen Code-Stil fest. Das Glühbirnensymbol für Schnellaktionen
, Fehlerglühbirnensymbol
oder Schraubendrehersymbol
wird angezeigt, wenn ein nicht bevorzugtes Format verwendet wird, und Sie können eine Option aus der Liste der Schnellaktionen auswählen, um den Code automatisch im bevorzugten Format neu zu schreiben. - Wenn die Verletzung nur als Schnelle Aktion angezeigt und auch von der Codebereinigung ausgeschlossen werden soll, legen Sie den Schweregrad auf "Refactoring Only" fest.
- Wenn der Verstoß im Fenster "Fehlerliste" sowie "Schnelle Aktionen" angezeigt werden soll und in die Codebereinigung einbezogen werden soll, legen Sie den Schweregrad auf Vorschlag, Warnung oder Fehler fest. Verstöße werden als Vorschlag (Meldung), Warnung oder Fehler angezeigt, wenn Sie die Ausgabe im Fenster "Fehlerliste" auf "Build + IntelliSense" festlegen. Sie sind ausgeschlossen von Bauen Sie nur Ausgabe.
Einstellungen in einer EditorConfig-Datei haben Vorrang vor Code-Stilen, die auf diesen Seiten festgelegt sind.
Erzwingen von Codeformatregeln beim Build
Ab Visual Studio 2019 Version 16.8, wo das .NET 5.0 RC2 SDK enthalten ist, können Sie für alle .NET-Projekte die .NET-Codierungskonventionen beim Build erzwingen. Zur Erstellungszeit werden Verstöße gegen .NET-Codeformatvorlagen als Warnungen oder Fehler mit einem Präfix "IDE" angezeigt. Auf diese Weise können Sie konsistente Codeformatvorlagen in Ihrer Codebasis strikt erzwingen.
Anwenden von Codeformaten
Wenn Sie eine Codeformatvorlage auf der Seite "Optionen" ändern oder ihrem Projekt in Visual Studio eine EditorConfig-Datei hinzufügen, werden nur neue Codezeilen basierend auf den neuen Einstellungen formatiert. Die Formatierung des vorhandenen Codes wird nur geändert, wenn Sie einen der folgenden Befehle ausführen:
-
Wählen Sie Code Cleanup (Codebereinigung) im Visual Studio-Editor, oder drücken Sie Strg+K, Strg+E. Dieser Befehl gilt für Leerzeicheneinstellungen, z. B. Einzugsformat und ausgewählte Codeformateinstellungen, z. B. Klammereinstellungen.
Dokument formatieren.
Wählen Sie Edit>Advanced>Format Document oder drücken Sie Strg+K, Strg+D im Standardprofil. Dieser Befehl bezieht sich nur auf die Einstellungen für den Leerraum, z. B. den Einrückungsstil.
Anwenden von Codestilen mit Codebereinigung
Um Code-Stile aus einer EditorConfig-Datei oder von der Optionsseite "Code-Stil" anzuwenden, verwenden Sie die Schaltfläche "Codebereinigung" unten im Editor (Tastenkombination: STRG+K, STRG+E). Wenn eine EditorConfig-Datei für das Projekt vorhanden ist, sind dies die Einstellungen, die Vorrang haben.
Tipp
.NET-Regeln, die mit dem Schweregrad "Nur Umgestaltung" konfiguriert sind, nehmen nicht an der Codebereinigung teil, können aber über das Menü "Schnelle Aktionen und Umgestaltungen" einzeln angewendet werden.
So wenden Sie Codestile an:
Konfigurieren Sie zunächst im Dialogfeld Codebereinigung konfigurieren (in einem von zwei Profilen), welche Codeformate Sie anwenden möchten. Um dieses Dialogfeld zu öffnen, klicken Sie auf den Erweiterungspfeil neben dem Besensymbol der Codebereinigung, und wählen Sie dann Codebereinigung konfigurieren aus. Alternativ können Sie das Menü "Codebereinigung>" verwenden.
Eine Zuordnung von .NET-Codebereinigungs-Fixern zu .NET-Codestilregeln finden Sie unter .NET-Codebereinigungseinstellungen.
C/C++-Optionen schließen C++ in den Namen des Fixers ein.
Nachdem Sie die Codebereinigung konfiguriert haben, verwenden Sie eine der folgenden Methoden zum Ausführen der Codebereinigung:
Klicken Sie auf das Broomsymbol, oder drücken Sie STRG+K, STRG+E.
Um die Codebereinigung für das gesamte Projekt oder die gesamte Projektmappe auszuführen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projekt- oder Projektmappennamen, wählen Sie "Analysieren" und "Codebereinigung" aus, und wählen Sie dann " Codebereinigung ausführen" aus.
(Optional) Wenn Sie möchten, dass Ihre Codeformatvorlageneinstellungen bei jedem Speichern einer Datei angewendet werden, gehen Sie zu Optionen>Text-Editor>Codebereinigung und wählen Sie "Profil für Codebereinigung beim Speichern ausführen" aus.
Für C#-Codedateien verfügt Visual Studio über eine Schaltfläche Codebereinigung unten im Editor (Tastatur: STRG+K, STRG+E), um Code-Stil-Vorlagen aus einer EditorConfig-Datei oder von der Seite Code-Stil-Optionen anzuwenden. Wenn eine EditorConfig-Datei für das Projekt vorhanden ist, sind dies die Einstellungen, die Vorrang haben.
Tipp
Regeln, die mit dem Schweregrad Kein konfiguriert sind, nehmen nicht an der Codebereinigung teil, können aber einzeln über das Menü Schnellaktionen und Refactorings angewendet werden.
So wenden Sie Codestile an:
Konfigurieren Sie zunächst im Dialogfeld Codebereinigung konfigurieren (in einem von zwei Profilen), welche Codeformate Sie anwenden möchten. Um dieses Dialogfeld zu öffnen, klicken Sie auf den Erweiterungspfeil neben dem Besensymbol der Codebereinigung, und wählen Sie dann Codebereinigung konfigurieren aus.
Nachdem Sie die Codebereinigung konfiguriert haben, verwenden Sie eine der folgenden Methoden zum Ausführen der Codebereinigung:
Klicken Sie auf das Broomsymbol, oder drücken Sie STRG+K, STRG+E-, um die Codebereinigung auszuführen.
Zum Ausführen der Codebereinigung für das gesamte Projekt oder die gesamte Projektmappe klicken Sie mit der rechten Maustaste auf den Projekt- oder Projektmappennamen im Projektmappen-Explorer, wählen Sie Analysieren und Codebereinigungaus, und wählen Sie dann Codebereinigung ausführenaus.
Wenn Ihre Codeformateinstellungen bei jedem Speichern einer Datei angewendet werden sollen, gefällt Ihnen möglicherweise die Erweiterung Code Cleanup on Save (Codebereinigung beim Speichern).
.NET-Codebereinigungseinstellungen
Die meisten Codebereinigungseinstellungen werden einem oder mehreren .NET-Codeformatvorlagen zugeordnet, die in EditorConfig unterstützt werden. Verwenden Sie die Links in der folgenden Tabelle für Beispiele, die die Auswirkungen der Einstellungen zeigen.
| Einstellung | Regel-ID oder Stiloption |
|---|---|
| Entfernen unnötiger Importe oder Verwendungen | IDE0005 |
| Importe oder Verwendungen sortieren |
dotnet_sort_system_directives_first dotnet_separate_import_directive_groups |
| Dateiheadereinstellungen anwenden | Datei-Kopfzeile_Vorlage |
| Nicht verwendete Variablen entfernen | CS0219 |
| Objekterstellungsvorgaben anwenden | Visual-Basic-Stil: Bevorzuge vereinfachte Objekterstellung |
| IsNot-Einstellungen anwenden | visual_basic_style_prefer_isnot_expression |
| Qualifizierung „this“ oder „Me“ hinzufügen | IDE0003-IDE0009 |
| Hinzufügen von Barrierefreiheitsmodifizierern | dotnet_style_require_accessibility_modifiers |
| Modifizierer anordnen | IDE0036 |
| Schreibschutz für Feld festlegen | dotnet_style_readonly_field |
| Unnötige Umwandlungen entfernen | IDE0004 |
| Parameter für Objekt-/Sammlungsinitialisierung anwenden | dotnet_style_object_initializer |
| Platzierungseinstellungen für Verwendungsrichtlinien anwenden | csharp_using_directive_placement |
| Anwenden von Klammernpräferenzen | IDE0047-IDE0048 |
| Anwenden ungenutzter Wertepräferenzen | IDE0058 |
| Anwenden von Sprach-/Framework-Typeinstellungen | IDE0049 |
| Nicht verwendete Unterdrückungen entfernen | dotnet_remove_unnecessary_suppression_exclusions |
| Voreinstellungen für vereinfachende boolesche Ausdrücke anwenden | dotnet_style_prefer_simplified_boolean_expressions |
| Anwendung von Präferenzen für die Zeichenfolgeninterpolation | dotnet_style_prefer_simplified_interpolation |
| Nicht verwendete Parameter entfernen | dotnet_code_quality_unused_parameters |
| Automatische Eigenschaftsvoreinstellungen anwenden | dotnet_style_prefer_auto_properties |
| Verbundzuweisungsvoreinstellungen anwenden | dotnet_style_prefer_compound_assignment |
| Voreinstellungen für zusammengesetzte Ausdrücke anwenden | dotnet_style_coalesce_expression |
| Anwenden bedingter Ausdruckspräferenzen |
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return |
| Voreinstellungen für Tupelnamen anwenden |
dotnet_style_explicit_tuple_names dotnet_style_prefer_inferred_tuple_names |
| Abgeleitete Einstellungen für Membernamen des anonymen Typs anwenden | dotnet_style_prefer_inferred_anonymous_type_member_names |
| Anwenden von Nullprüfungspräferenzen | dotnet_style_prefer_is_null_check_over_reference_equality_method |
| Voreinstellungen für NULL-Weitergabe anwenden | dotnet_style_null_propagation |
| Anwenden von "var"-Voreinstellungen | IDE0007-IDE0008 |
| Geschweifte Klammern für einzeilige Steuerungsanweisungen hinzufügen | csharp_prefer_braces |
| Ausdrucks-/Blocktexteinstellungen anwenden | Expression-bodied Mitglieder |
| Einstellungen für out-Inlinevariablen anwenden | csharp_style_inlined_variable_declaration |
| Musterabgleichseinstellungen anwenden | Pattern-Matching-Einstellungen |
| Einstellungen für bedingte Stellvertretungsaufrufe anwenden | csharp_style_conditional_delegate_call |
| Anwenden statischer lokaler Funktionseinstellungen | csharp_bevorzugt_statische_lokale_funktionen |
| Dekonstruktionseinstellungen anwenden | csharp_style_deconstructed_variable_declaration |
| Anwenden von Standardpräferenzen (T) | csharp_prefer_simple_default_expression |
| new()-Einstellungen anwenden | csharp_style_implicit_object_creation_when_type_is_apparent |
| Bereichseinstellungen anwenden | csharp_style_prefer_range_operator |
| Lokale Einstellungen gegenüber Präferenzen für anonyme Funktionen bevorzugen | csharp_style_pattern_local_over_anonymous_function |
| Anwenden von Null-Präferenzen für Parameter | Nullprüfungs-Einstellungen |
| Using-Anweisungseinstellungen anwenden | csharp_prefer_simple_using_statement |
| Voreinstellungen für Ausdrucksauslösung anwenden | csharp_style_throw_expression |