Codeformateinstellungen
Codeformateinstellungen können projektweise mithilfe einer EditorConfig-Datei oder für den gesamten Code, den Sie in Visual Studio bearbeiten, auf der Optionen-Seite des Text-Editors definiert werden. Für C#-Code können Sie visual Studio auch so konfigurieren, dass diese Codeformateinstellungen mithilfe der Befehle CodeBereinigung (Visual Studio 2019, Visual Studio 2022) und Formatdokument- (Visual Studio 2017) angewendet werden.
Code-Stile in EditorConfig-Dateien
Einstellungen für die Codeformatvorlage für .NET 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 können Ihre EditorConfig-Datei manuell auffüllen, oder Sie können die Datei basierend auf den von Ihnen im Dialogfeld "Optionen" von Visual Studio ausgewählten Codeformateinstellungen automatisch generieren. Diese Optionsseite ist unter Tools>Optionen>Text-Editor> [C# oder Basic] >Code-Stil>Allgemeinverfügbar. Klicken Sie auf .editorconfig-Datei aus Einstellungen generieren, um automatisch eine .editorconfig-Codeformatdatei auf Grundlage der Einstellungen auf dieser Optionen-Seite zu generieren.
Sie können Ihre EditorConfig-Datei manuell auffüllen, oder Sie können die Datei basierend auf den von Ihnen im Dialogfeld "Optionen" von Visual Studio ausgewählten Codeformateinstellungen automatisch generieren. Diese Optionsseite finden Sie unter Extras>Optionen>Text-Editor> [C# oder Visual Basic] >Codeformat>Allgemein. Klicken Sie auf .editorconfig-Datei aus Einstellungen generieren, um automatisch eine .editorconfig-Codeformatdatei auf Grundlage der Einstellungen auf dieser Optionen-Seite zu generieren.
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 die Option Text-Editor> [C# oder Visual Basic] >Codeformat>Allgemein aus.
Codeformateinstellungen können für alle C#- und Visual Basic-Projekte festgelegt werden, indem das Dialogfeld Optionen im Menü Extras geöffnet wird. 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 diese ausgewählt ist:
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 lassen möchten, geben Sie die Einstellungen in einer .editorconfig-Datei an, die dem Projekt zugeordnet ist.
Präferenz und Schweregrad
Sie können für jede dieser Codeformateinstellungen auf dieser Seite über die Dropdownfelder jeder Zeile die Werte für Einstellungen und Schweregrad festlegen. Der Schweregrad kann auf Nur Refactoring, Vorschlag, Warnung oder Fehler festgelegt werden. Wenn Sie für ein Codeformat Schnelle Aktionen aktivieren möchten, stellen Sie sicher, dass die Einstellung für den Schweregrad auf einen anderen Wert als Nur Refactoring festgelegt ist. 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.
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
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.
Für C#-Codedateien verfügt Visual Studio über eine Schaltfläche Code Cleanup unten im Editor (Tastatur: STRG+K, STRG+E), um Code-Stile aus einer EditorConfig-Datei oder von der Seite Code Style den 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.
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 die Codeformateinstellungen jedes Mal angewendet werden sollen, wenn Sie eine Datei speichern, wechseln Sie zu Optionen>Text-Editor>Codebereinigung, und wählen Sie Codebereinigungsprofil beim Speichern ausführen aus.
Codebereinigungseinstellungen
Die meisten Codebereinigungseinstellungen entsprechen einem oder mehreren .NET-Codeformatvorlagen, die in .editorconfigunterstü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_first dotnet_separate_import_directive_groups |
Anwenden von Dateiheadereinstellungen | Datei-Kopfzeile_Vorlage |
Nicht verwendete Variablen entfernen | CS0219 |
Objekterstellungsvorgaben anwenden | visual_basic_style_prefer_simplified_object_creation |
IsNot-Einstellungen anwenden | visual_basic_style_prefer_isnot_expression |
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_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 |
Anwenden von automatischen Eigenschaftsvoreinstellungen | dotnet_style_prefer_auto_properties |
Anwenden von Verbundzuweisungseinstellungen | dotnet_style_prefer_compound_assignment |
Anwenden von Einstellungen für zusammengefügte Ausdrücke | dotnet_style_coalesce_expression |
Anwenden bedingter Ausdruckspräferenzen | dotnet_style_prefer_conditional_expression_over_assignment dotnet_style_prefer_conditional_expression_over_return |
Anwenden von Einstellungen für Tupelnamen | dotnet_style_explicit_tuple_names dotnet_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_style_inlined_variable_declaration |
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_prefer_static_local_function |
Anwenden von Dekonstruktionseinstellungen | csharp_style_deconstructed_variable_declaration |
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_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 | Einstellungen für die NULL-Überprüfung |
Anwenden von using-Anweisungseinstellungen | csharp_prefer_simple_using_statement |
Anwenden von Einstellungen für throw-Ausdrücke | csharp_style_throw_expression |
::: moniker-end