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.
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 "Methoden zum Hinzufügen einer EditorConfig-Datei".
Referenzinformationen zu .NET-Codeformatvorlageneinstellungen finden Sie unter Codeformatvorlageneinstellungen.
C/C++-Codeformatvorlagen im Dialogfeld "Optionen"
Sie können viele individuelle Code-Formatierungsoptionen angeben, z. B. Einrückungen 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 individuelle Code-Formatierungsoptionen angeben, z. B. Einrückungen 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 Schnelle Aktionen 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 von Build-only-Ausgabe ausgeschlossen.
Einstellungen in einer EditorConfig-Datei haben Vorrang vor Code-Stilen, die auf diesen Seiten festgelegt sind.
Erzwingen von Codeformaten 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 Codebereinigung im Visual Studio-Editor aus, 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 Bearbeiten>Erweitert>Dokument formatieren aus, oder drücken Sie STRG+K, STRG+D im Standardprofil. Dieser Befehl gilt nur für Leerzeicheneinstellungen, z. B. Einzugsformat.
Anwenden von Codestilen durch 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 Codeformate 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 enthalten C++ im Namen des Fixers.
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 Keiner konfiguriert sind, nehmen nicht an der Codebereinigung teil, können aber einzeln über das Menü Schnelle Aktionen und Refactorings angewendet werden.
So wenden Sie Codeformate 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, kann möglicherweise die Erweiterung Codebereinigung beim Speichern nützlich sein.
.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 |
Sortieren von Importen oder Verwendungen |
dotnet_sort_system_directives_firstdotnet_separate_import_directive_groups |
Anwenden von Dateiheadereinstellungen | Datei-Kopfzeile_Vorlage |
Nicht verwendete Variablen entfernen | CS0219 |
Objekterstellungsvorgaben anwenden | Visual-Basic-Stil: Bevorzuge vereinfachte Objekterstellung |
IsNot-Einstellungen anwenden | Visual-Basic-Stil_vorzugsweise_IsNot-Ausdruck |
Hinzufügen der Qualifizierung „this“ oder „Me“ | IDE0003-IDE0009 |
Hinzufügen von Barrierefreiheitsmodifizierern | dotnet_style_require_accessibility_modifiers |
Ordnen der Modifizierer | IDE0036 |
Festlegen des Schreibschutzes für ein Feld | dotnet_style_readonly_field |
Entfernen unnötiger Umwandlungen | IDE0004 |
Anwenden von Parametern für Objekt-/Sammlungsinitialisierungen | dotnet_style_object_initializer |
Anwenden using-Anweisungen für Platzierungseinstellungen | csharp_using_directive_placement |
Anwenden von Klammernpräferenzen | IDE0047-IDE0048 |
Anwenden ungenutzter Wertepräferenzen | IDE0058 |
Anwenden von Sprach-/Framework-Typeinstellungen | IDE0049 |
Entfernen nicht verwendeter Unterdrückungen | dotnet_remove_unnecessary_suppression_exclusions |
Anwenden der Vereinfachung der Einstellungen für boolesche Ausdrücke | dotnet_Stil_vorzug_einfacherer_boolescher_Ausdrücke |
Anwendung von Präferenzen für die Zeichenfolgeninterpolation | dotnet_style_prefer_simplified_interpolation |
Nicht verwendete Parameter entfernen | dotnet_code_quality_unused_parameters |
Anwenden von automatischen Eigenschaftsvoreinstellungen | dotnet_style_prefer_auto_properties |
Anwenden von Verbundzuweisungseinstellungen | dotnet_style_prefer_compound_assignment (Bevorzugung zusammengesetzter Zuweisungen) |
Anwenden von Einstellungen für zusammengefügte Ausdrücke | dotnet_style_coalesce_expression |
Anwenden bedingter Ausdruckspräferenzen |
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return |
Anwenden von Einstellungen für Tupelnamen |
dotnet_style_explicit_tuple_namesdotnet_style_prefer_inferred_tuple_names |
Anwenden abgeleiteter 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 |
Anwenden von Einstellungen für die NULL-Weitergabe | dotnet_style_null_propagation |
Anwenden von "var"-Voreinstellungen | IDE0007-IDE0008 |
Hinzufügen von geschweiften Klammern für einzeilige Steuerungsanweisungen | csharp_prefer_braces |
Anwenden von Ausdrucks-/Blocktextkörpereinstellungen | Ausdruckskörpermember |
Anwenden von Einstellungen für Inline-Variablen vom Typ 'out' | csharp_stil_eingebettete_Variablendeklaration |
Anwenden von Musterabgleichseinstellungen | Einstellungen für den Musterabgleich |
Anwenden von Einstellungen für bedingte Stellvertretungsaufrufe | csharp_style_conditional_delegate_call |
Anwenden statischer lokaler Funktionseinstellungen | csharp_bevorzugt_statische_lokale_funktionen |
Anwenden von Dekonstruktionseinstellungen | csharp_style_dekonstruierte_Variable_Deklaration |
Anwenden von Standardpräferenzen (T) | csharp_prefer_simple_default_expression |
Anwenden von new()-Einstellungen | csharp_style_implicit_object_creation_when_type_is_apparent |
Anwenden von Bereichseinstellungen | csharp_Stil_Bereichsoperator_bevorzugen |
Lokale Einstellungen gegenüber Präferenzen für anonyme Funktionen bevorzugen | csharp_stil_muster_lokal_über_anonyme_funktion |
Anwenden von Null-Präferenzen für Parameter | Einstellungen für die NULL-Überprüfung |
Anwenden von using-Anweisungseinstellungen | csharp_präferiere_einfaches_using_anweisung |
Anwenden von Einstellungen für throw-Ausdrücke | csharp_style_throw_expression |