Codeformatregeln

Die .NET-Codeformatanalyse stellt Regeln bereit, die auf Standard konsistenten Stil in Ihrer Codebasis abzielen. Diese Regeln weisen in der Regel-ID das Präfix „IDE“ auf.

Die Codeformatregeln sind in die folgenden Unterkategorien unterteilt:

  • Sprache und unnötige Coderegeln

    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. Diese Kategorie enthält auch Regeln, die unnötigen Code finden, z. B. nicht erreichbaren Code innerhalb von Methoden oder nicht verwendeten privaten Feldern, Eigenschaften oder Methoden.

  • Formatierungsregeln

    Regeln für das Layout und die Struktur Ihres Codes, um diesen lesbarer zu machen. Sie können beispielsweise eine Formatierungsoption angeben, die festlegt, ob Leerzeichen in Steuerelementblöcken bevorzugt werden oder nicht.

  • 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 Codestilregeln nach ID und Optionen aufgeführt, sofern vorhanden.

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
dotnet_style_prefer_collection_expression (nur C#)
IDE0029 Nullüberprüfung kann vereinfacht werden dotnet_style_coalesce_expression
IDE0030 Nullüberprüfung kann vereinfacht werden 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_prefer_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 (Zu viele, um hier auflisten zu können. Weitere Informationen finden Sie unter .NET-Formatierungsoptionen und C#-Formatierungsoptionen.)
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)
IDE0120 Vereinfachen von LINQ-Ausdrücken
IDE0130 Namespace entspricht nicht der Ordnerstruktur dotnet_style_namespace_match_folder
IDE0140 Vereinfachen der Objekterstellung visual_basic_style_prefer_simplified_object_creation
IDE0150 Vorziehen null der Überprüfung des Typs csharp_style_prefer_null_check_over_type_check
IDE0160 Blockbezogenen Namespace verwenden csharp_style_namespace_declarations
IDE0161 Dateibezogenen Namespace verwenden csharp_style_namespace_declarations
IDE0170 Eigenschaftenmuster vereinfachen csharp_style_prefer_extended_property_pattern
IDE0180 Tupel zum Tauschen von Werten verwenden csharp_style_prefer_tuple_swap
IDE0200 Unnötigen Lambdaausdruck entfernen csharp_style_prefer_method_group_conversion
IDE0210 In Anweisungen der obersten Ebene konvertieren csharp_style_prefer_top_level_statements
IDE0211 Konvertieren in das Programmformat „Program.Main“ csharp_style_prefer_top_level_statements
IDE0220 Explizite Umwandlung in foreach-Schleife hinzufügen dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Verwenden des UTF-8-Zeichenfolgenliterals csharp_style_prefer_utf8_string_literals
IDE0240 Nullable-Anweisung ist redundant
IDE0241 Nullable-Direktive ist unnötig
IDE0250 Struktur kann „readonly“ gemacht werden csharp_style_prefer_readonly_struct
IDE0251 Member kann als „readonly“ festgelegt werden csharp_style_prefer_readonly_struct_member
IDE0260 Verwenden eines Musterabgleichs csharp_style_pattern_matching_over_as_with_null_check
IDE0270 Nullüberprüfung kann vereinfacht werden dotnet_style_coalesce_expression
IDE0280 Verwenden Sie nameof
IDE0290 Verwenden des primären Konstruktors csharp_style_prefer_primary_constructors
IDE0300 Sammlungsausdruck für Array verwenden dotnet_style_prefer_collection_expression
IDE0301 Sammlungsausdruck für „Empty“ verwenden dotnet_style_prefer_collection_expression
IDE0302 Sammlungsausdruck für „stackalloc“ verwenden dotnet_style_prefer_collection_expression
IDE0303 Verwenden des Sammlungsausdrucks für Create() dotnet_style_prefer_collection_expression
IDE0304 Sammlungsausdruck für Generator verwenden dotnet_style_prefer_collection_expression
IDE0305 Sammlungsausdruck für „fluent“ verwenden dotnet_style_prefer_collection_expression
IDE1005 Bedingten Delegataufruf verwenden csharp_style_conditional_delegate_call
IDE1006 Benennungsformate

Hinweis

Es gibt einige Regeln, die nur in der Visual Studio-IDE angezeigt werden, und dies gilt für JSON- und reguläre Ausdrucksmusterzeichenfolgen. Weitere Informationen finden Sie unter JSON001, JSON002 und RE0001.

Legende

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

Artikel BESCHREIBUNG
Regel-ID Eindeutiger Bezeichner für die Regel. 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.
Optionen Alle verfügbaren Optionen für die Regel.

Weitere Informationen