Codeformateinstellungen

Codeformateinstellungen können projektweise mithilfe einer EditorConfig-Datei oder für den gesamten Code, den Sie in Visual Studio bearbeiten, auf der Seite Optionen des Text-Editors definiert werden. Für C#-Code können Sie Visual Studio außerdem mithilfe der Befehle Codebereinigung (Visual Studio 2019, Visual Studio 2022) und Dokument formatieren (Visual Studio 2017) für die Anwendung dieser Codeformateinstellungen konfigurieren.

Hinweis

Dieses Thema gilt für Visual Studio unter Windows. Informationen zu Visual Studio für Mac finden Sie unter Editorverhalten in Visual Studio für Mac.

Codeformate in EditorConfig-Dateien

Codeformateinstellungen für .NET können durch Hinzufügen einer EditorConfig-Datei zu Ihrem Projekt angegeben werden. Diese .editorconfig-Dateien sind nicht mit einem Visual Studio-Personalisierungskonto, sondern mit einer Codebasis verknüpft. Die Einstellungen in der Editorconfig-Datei haben Vorrang gegenüber den im Dialogfeld Optionen angegebenen Codeformaten. Verwenden Sie eine EditorConfig-Datei, wenn Sie Codierungsstile für alle Mitwirkenden an Ihrem Repository oder Projekt erzwingen möchten.

Sie können Ihre EditorConfig-Datei manuell auffüllen oder die Datei basierend auf den Codeformateinstellungen, die Sie im Dialogfeld Optionen von Visual Studio festgelegt haben, automatisch generieren. Diese Optionsseite finden Sie unter Extras>Optionen>Text-Editor> [C# oder Basic] >Codeformat>Allgemein. Klicken Sie auf Generate .editorconfig file from settings (Editorconfig-Datei aus Einstellungen generieren), um automatisch eine .editorconfig-Codeformatdatei auf Grundlage der Einstellungen auf dieser Seite Optionen zu generieren.

Screenshot of Generate editorconfig file from settings.

Sie können Ihre EditorConfig-Datei manuell auffüllen oder die Datei basierend auf den Codeformateinstellungen, die Sie im Dialogfeld Optionen von Visual Studio festgelegt haben, automatisch generieren. Diese Optionsseite finden Sie unter Extras>Optionen>Text-Editor> [C# oder Visual Basic] >Codeformat>Allgemein. Klicken Sie auf Generate .editorconfig file from settings (Editorconfig-Datei aus Einstellungen generieren), um automatisch eine .editorconfig-Codeformatdatei auf Grundlage der Einstellungen auf dieser Seite Optionen zu generieren.

Screenshot of Generate editorconfig file from settings.

Codeformate im Dialogfeld „Optionen“

Codeformateinstellungen können für alle Ihre 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 Ihre 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 auf der Liste zeigt eine Vorschau der Einstellung an, wenn es ausgewählt wird:

Screenshot of code style options.

Screenshot of code style options.

In diesem Fenster festgelegte Optionen gelten für Ihr Visual Studio-Personalisierungskonto und sind keinem bestimmten Projekt bzw. keiner bestimmten Codebasis zugeordnet. Darüber hinaus werden sie nicht zur Buildzeit erzwungen. Das gilt auch für CI-Builds (Continuous Integration). Wenn Sie Codeformateinstellungen mit Ihrem Projekt verknüpfen möchten und die Formate während des Buildvorgangs erzwungen werden, geben Sie die Einstellungen in einer Datei vom Typ .editorconfig an, die mit dem Projekt verknüpft ist.

Einstellung und Schweregrad

Sie können für jede dieser Codeformateinstellungen auf dieser Seite über die Dropdownfelder jeder Zeile die Werte für Preference (Präferenz)und Schweregrad festlegen. Der Schweregrad kann auf Nur Refactoring, Vorschlag, Warnung oder Fehler festgelegt werden. Wenn Sie für ein Codeformat Schnellaktionen 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 Schnellaktionen auswählen, um den Code automatisch im bevorzugten Format neu zu schreiben.

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 das .NET-Codeformat als Warnungen oder Fehler mit dem Präfix „IDE“ angezeigt. Dies ermöglicht Ihnen, konsistente Codeformate in Ihrer Codebasis strikt zu 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 Codeformate aus einer EditorConfig-Datei oder von der Optionsseite Codeformat anzuwenden. Wenn für das Projekt eine .editorconfig-Datei vorhanden ist, haben diese Einstellungen Vorrang.

Screenshot of Execute code cleanup.

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.

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.

Screenshot of Configure Code Cleanup.

Nach dem Konfigurieren der Codebereinigung können Sie auf das Besensymbol klicken oder STRG+K und STRG+E drücken, um die Codebereinigung auszuführen. Sie können die Codebereinigung auch für Ihr gesamtes Projekt oder Ihre gesamte Projektmappe ausführen. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen eines Projekts oder einer Projektmappe, wählen Sie Analysieren und Code bereinigen aus, und klicken Sie dann auf Codebereinigung ausführen.

Screenshot of Run Code Cleanup across entire project or solution.

Für C#-Codedateien verfügt Visual Studio über eine Schaltfläche Codebereinigung unten im Editor (Tastatur: STRG+K, STRG+E), um Codeformate aus einer EditorConfig-Datei oder von der Optionsseite Codeformat anzuwenden. Wenn für das Projekt eine .editorconfig-Datei vorhanden ist, haben diese Einstellungen Vorrang.

Screenshot of Execute code cleanup.

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.

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.

Screenshot of Configure Code Cleanup.

Nach dem Konfigurieren der Codebereinigung können Sie auf das Besensymbol klicken oder STRG+K und STRG+E drücken, um die Codebereinigung auszuführen. Sie können die Codebereinigung auch für Ihr gesamtes Projekt oder Ihre gesamte Projektmappe ausführen. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen eines Projekts oder einer Projektmappe, wählen Sie Analysieren und Code bereinigen aus, und klicken Sie dann auf Codebereinigung ausführen.

Screenshot of Run Code Cleanup across entire project or solution.

Einstellungen für die Codebereinigung

Die meisten Einstellungen für die Codebereinigung sind mindestens einem .NET-Codeformat zugeordnet, das in .editorconfig unterstützt wird. Verwenden Sie für Beispiele, die die Auswirkungen der Einstellungen zeigen, die Links in der folgenden Tabelle.

Einstellung Regel-ID oder Formatoption
Entfernen unnötiger Importe oder Verwendungen IDE0005
Dateiheadereinstellungen anwenden file_header_template
Entfernen nicht verwendeter Variablen IDE0051
Objekterstellungsvoreinstellungen anwenden visual_basic_style_prefer_simplified_object_creation
IsNot-Voreinstellungen anwenden visual_basic_style_prefer_isnot_expression
Qualifizierung „this“ oder „Me“ hinzufügen IDE0003-IDE0009
Zugriffsmodifizierer hinzufügen 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
Voreinstellungen für Klammern anwenden IDE0047-IDE0048
Nicht verwendete Werteinstellungen anwenden IDE0058
Typeinstellungen für Sprache/Framework anwenden 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
Einstellungen für die Zeichenfolgeninterpolation anwenden 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
Voreinstellungen für bedingte Ausdrücke anwenden dotnet_style_prefer_conditional_expression_over_assignment
dotnet_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
Voreinstellungen für NULL-Überprüfung anwenden dotnet_style_prefer_is_null_check_over_reference_equality_method
Voreinstellungen für NULL-Weitergabe anwenden dotnet_style_null_propagation
„var“-Einstellungen anwenden IDE0007-IDE0008
Geschweifte Klammern für einzeilige Steuerungsanweisungen hinzufügen csharp_prefer_braces
Ausdrucks-/Blocktexteinstellungen anwenden Ausdruckskörpermember
Einstellungen für out-Inlinevariablen anwenden csharp_style_inlined_variable_declaration
Musterabgleichseinstellungen anwenden Einstellungen für den Musterabgleich
Einstellungen für bedingte Stellvertretungsaufrufe anwenden csharp_style_conditional_delegate_call
Statische lokale Funktionseinstellungen anwenden csharp_prefer_static_local_function
Dekonstruktionseinstellungen anwenden csharp_style_deconstructed_variable_declaration
default(T)-Einstellungen anwenden 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 statt anonyme Funktionseinstellungen anwenden csharp_style_pattern_local_over_anonymous_function
Parameter-NULL-Einstellungen anwenden Einstellungen für die NULL-Überprüfung
Using-Anweisungseinstellungen anwenden csharp_prefer_simple_using_statement
Voreinstellungen für Ausdrucksauslösung anwenden csharp_style_throw_expression

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.

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).