Codeformatregeln

Die .NET-Codeformatanalyse stellt Regeln bereit, die darauf abzielen, ein konsistentes Codeformat in Ihrer Codebasis zu erhalten. Diese Regeln weisen in der Regel-ID das Präfix „IDE“ auf. Den meisten Regeln sind Optionen zum Anpassen des bevorzugten Formats zugeordnet. Die Regeln sind in die folgenden Unterkategorien unterteilt:

  • Sprachregeln

    Regeln für die Sprache C# oder Visual Basic. Beispielsweise können Sie Regeln angeben, die die Verwendung von var beim Definieren von Variablen berücksichtigen oder festlegen, ob Member mit Ausdruckskörper bevorzugt werden.

  • Nicht benötigte Coderegeln

    Regeln für unnötigen Code, der auf ein potenzielles Problem im Hinblick auf Lesbarkeit, Wartbarkeit, Leistung oder Funktion hinweist. Beispielsweise gilt nicht erreichbarer Code in Methoden oder nicht verwendeten privaten Feldern, Eigenschaften oder Methoden als unnötiger Code.

  • Formatierungsregeln

    Regeln für das Layout und die Struktur Ihres Codes, um diesen lesbarer zu machen. Beispielsweise können Sie Regeln angeben, die geschweifte Klammern im Allman-Stil berücksichtigen oder festlegen, ob Leerzeichen in Steuerblöcken bevorzugt werden.

  • Benennungsregeln

    Regeln für die Benennung von Codeelementen. Beispielsweise können Sie angeben, dass async-Methodennamen das Suffix „Async“ aufweisen müssen.

  • Verschiedene Regeln

    Regeln, die nicht zu anderen Kategorien gehören.

Index

In der folgenden Tabelle sind alle Codeformatregeln nach ID und ggf. Optionen aufgeführt.

Regel-ID Titel Option
IDE0001 Namen vereinfachen
IDE0002 Memberzugriff vereinfachen
IDE0003 this entfernen oder Me qualifizieren dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Nicht benötigte Umwandlung entfernen
IDE0005 Remove unnecessary import (Unnötigen Import entfernen)
IDE0007 var anstelle eines expliziten Typ verwenden csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Expliziten Typ anstelle von var verwenden csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 this hinzufügen oder Me qualifizieren dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Add missing cases to switch statement (Der switch-Anweisung fehlende Fälle hinzufügen)
IDE0011 Hinzufügen von geschweiften Klammern csharp_prefer_braces
IDE0016 throw-Ausdruck verwenden csharp_style_throw_expression
IDE0017 Verwenden des Objektinitialisierers dotnet_style_object_initializer
IDE0018 Inline-Variablendeklaration csharp_style_inlined_variable_declaration
IDE0019 Mustervergleich verwenden, um as gefolgt von einer null-Prüfung zu vermeiden csharp_style_pattern_matching_over_as_with_null_check
IDE0020 Musterabgleich verwenden, um eine is-Überprüfung gefolgt von einer Umwandlung zu vermeiden (mit Variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Ausdruckskörper für Konstruktoren verwenden csharp_style_expression_bodied_constructors
IDE0022 Ausdruckskörper für Methoden verwenden csharp_style_expression_bodied_methods
IDE0023 Ausdruckskörper für Konvertierungsoperatoren verwenden csharp_style_expression_bodied_operators
IDE0024 Ausdruckskörper für Operatoren verwenden csharp_style_expression_bodied_operators
IDE0025 Ausdruckskörper für Eigenschaften verwenden csharp_style_expression_bodied_properties
IDE0026 Ausdruckskörper für Indexer verwenden csharp_style_expression_bodied_indexers
IDE0027 Ausdruckskörper für Zugriffsmethoden verwenden csharp_style_expression_bodied_accessors
IDE0028 Verwenden des Auflistungsinitialisierers dotnet_style_collection_initializer
IDE0029 COALESCE-Ausdruck verwenden (Non-Nullable-Typen) dotnet_style_coalesce_expression
IDE0030 COALESCE-Ausdruck verwenden (Nullable-Typen) dotnet_style_coalesce_expression
IDE0031 NULL-Weitergabe verwenden dotnet_style_null_propagation
IDE0032 Automatisch generierte Eigenschaft verwenden dotnet_style_prefer_auto_properties
IDE0033 Explizit angegebenen Tupelelementnamen verwenden dotnet_style_explicit_tuple_names
IDE0034 default-Ausdruck vereinfachen csharp_prefer_simple_default_expression
IDE0035 Entfernen von unerreichbarem Code
IDE0036 Modifizierer anordnen csharp_preferred_modifier_order
visual_basic_preferred_modifier_order
IDE0037 Abgeleiteten Membernamen verwenden dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Musterabgleich verwenden, um eine is-Überprüfung gefolgt von einer Umwandlung zu vermeiden (ohne Variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Lokale Funktion anstelle von Lambda verwenden csharp_style_pattern_local_over_anonymous_function
IDE0040 Zugriffsmodifizierer hinzufügen dotnet_style_require_accessibility_modifiers
IDE0041 NULL-Überprüfung verwenden dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Variablendeklaration dekonstruieren csharp_style_deconstructed_variable_declaration
IDE0044 Modifizierer „readonly“ hinzufügen dotnet_style_readonly_field
IDE0045 Bedingten Ausdruck für Zuweisung verwenden dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Use conditional expression for return (Bedingten Ausdruck für Rückgabe verwenden) dotnet_style_prefer_conditional_expression_over_return
IDE0047 Unnötige Klammern entfernen dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0048 Zur besseren Unterscheidung Klammern hinzufügen dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0049 Verwenden von Sprachschlüsselwörtern anstelle von Framework-Typnamen für Typverweise dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Konvertieren eines anonymen Typs in ein Tupel
IDE0051 Nicht verwendete private Member entfernen
IDE0052 Ungelesene private Member entfernen
IDE0053 Ausdruckskörper für Lambdaausdrücke verwenden csharp_style_expression_bodied_lambdas
IDE0054 Verbundzuweisung verwenden dotnet_style_prefer_compound_assignment
IDE0055 Formatierung beheben
IDE0056 Index-Operator verwenden csharp_style_prefer_index_operator
IDE0057 Bereichsoperator verwenden csharp_style_prefer_range_operator
IDE0058 Nicht verwendeten Ausdruckswert entfernen csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Unnötige Wertzuweisung entfernen csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference
IDE0060 Nicht verwendeten Parameter entfernen dotnet_code_quality_unused_parameters
IDE0061 Ausdruckskörper für lokale Funktionen verwenden csharp_style_expression_bodied_local_functions
IDE0062 Lokale Funktion in statische Funktion konvertieren csharp_prefer_static_local_function
IDE0063 Einfache using-Anweisung verwenden csharp_prefer_simple_using_statement
IDE0064 Beschreibbare Strukturfelder erstellen
IDE0065 using Platzieren der Anweisung csharp_using_directive_placement
IDE0066 Switch-Ausdruck verwenden csharp_style_prefer_switch_expression
IDE0070 Verwenden Sie System.HashCode.Combine
IDE0071 Die Interpolation vereinfachen dotnet_style_prefer_simplified_interpolation
IDE0072 Fehlende Fälle zu switch-Ausdruck hinzufügen
IDE0073 Dateiheader verwenden file_header_template
IDE0074 COALESCE-Verbundzuweisung verwenden dotnet_style_prefer_compound_assignment
IDE0075 Vereinfachen von bedingten Ausdrücken dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Remove invalid global SuppressMessageAttribute (Ungültige globale SuppressMessageAttribute-Attribute entfernen)
IDE0077 Das Legacyformat „Target“ in globalen SuppressMessageAttribute vermeiden
IDE0078 Verwenden eines Musterabgleichs csharp_style_prefer_pattern_matching
IDE0079 Entfernen unnötiger Unterdrückungsvorgänge dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Unnötigen Unterdrückungsoperator entfernen
IDE0081 Entfernung von ByVal
IDE0082 Konvertieren von typeof in nameof
IDE0083 Musterabgleich verwenden (not-Operator) csharp_style_prefer_not_pattern
IDE0084 Musterabgleich verwenden (IsNot-Operator) visual_basic_style_prefer_isnot_expression
IDE0090 new-Ausdruck vereinfachen csharp_style_implicit_object_creation_when_type_is_apparent
IDE0100 Nicht benötigten Gleichheitsoperator entfernen
IDE0110 Remove unnecessary discard (Nicht benötigte Ausschussvariable entfernen)
IDE0140 Vereinfachen der Objekterstellung visual_basic_style_prefer_simplified_object_creation
IDE1005 Bedingten Delegataufruf verwenden csharp_style_conditional_delegate_call
IDE1006 Benennungsformate

Legende

Die folgende Tabelle zeigt die Art der Informationen, die für die einzelnen Regeln in der Referenzdokumentation bereitgestellt werden.

Element BESCHREIBUNG
Regel-ID Eindeutiger Bezeichner für die Regel. Die Regel-ID wird verwendet, um den Regelschweregrad zu konfigurieren und Warnungen in der Codedatei zu unterdrücken.
Titel Der Titel für die Regel.
Kategorie Die Kategorie für die Regel.
Unterkategorie Die Unterkategorie für die Regel, z. B. Sprachregeln, Formatierungsregeln oder Benennungsregeln.
Gültige Sprachen Anwendbare .NET-Sprachen (C# oder Visual Basic) sowie ggf. die Mindestsprachversion.
Eingeführt in Version Version des .NET SDK oder Visual Studio, als die Regel erstmals eingeführt wurde.

Für jede Option der Regel werden die folgenden Informationen bereitgestellt.

Element Beschreibung
Name der Option Der Name der Codeformatoption für die Regel, falls vorhanden. Optionen zum Anpassen des Formats werden in einer EditorConfig-Datei angegeben.
Optionswerte Die Werte der Codeformatoption für die Regeloption, sofern vorhanden.
Standardoptionswert Der Standardwert der Codeformatoption für die Regeloption, sofern vorhanden.
Beispiele Beispiele für das Codeformat, das der Option entspricht.

Siehe auch