Regler i kodformat

.NET-kodstilsanalys innehåller regler som syftar till att upprätthålla konsekvent format i din kodbas. Dessa regler har ett IDE-prefix i regel-ID:t.

Reglerna i kodformat är ordnade i följande underkategorier:

  • Språk och onödiga kodregler

    Regler som gäller för språket C# eller Visual Basic. Du kan till exempel ange regler som tar hänsyn till användningen av var när du definierar variabler eller om uttrycksbaserade medlemmar föredras. Den här kategorin innehåller även regler som hittar onödig kod, till exempel oåtkomlig kod inom metoder eller oanvända privata fält, egenskaper eller metoder.

  • Formateringsregler

    Regler som gäller för kodens layout och struktur för att göra det lättare att läsa. Du kan till exempel ange ett formateringsalternativ som definierar om blanksteg i kontrollblock ska föredras eller inte.

  • Namngivningsregler

    Regler som gäller namngivning av kodelement. Du kan till exempel ange att async metodnamnen måste ha suffixet "Async".

  • Diverse regler

    Regler som inte hör hemma i andra kategorier.

Index

I följande tabell visas alla regler i kodformat efter ID och eventuella alternativ.

Regel-ID Title Alternativ
IDE0001 Förenkla namn
IDE0002 Förenkla medlemsåtkomst
IDE0003 Ta bort this eller Me kvalificera dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Ta bort onödiga gjutningar
IDE0005 Ta bort onödig import
IDE0007 Använd var i stället för explicit typ csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Använd explicit typ i stället för var csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Lägg till this eller Me kvalificera dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Lägga till saknade ärenden för att växla instruktion
IDE0011 Lägga till klammerparenteser csharp_prefer_braces
IDE0016 Använda utkastsuttryck csharp_style_throw_expression
IDE0017 Använda objektinitierare dotnet_style_object_initializer
IDE0018 Infogad variabeldeklaration csharp_style_inlined_variable_declaration
IDE0019 Använd mönstermatchning för att undvika as följt av en null kontroll csharp_style_pattern_matching_over_as_with_null_check
IDE0020 Använd mönstermatchning för att undvika is kontroll följt av en gjuten (med variabel) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Använda uttryckstext för konstruktorer csharp_style_expression_bodied_constructors
IDE0022 Använda uttryckstext för metoder csharp_style_expression_bodied_methods
IDE0023 Använda uttryckstext för konverteringsoperatorer csharp_style_expression_bodied_operators
IDE0024 Använda uttryckstext för operatorer csharp_style_expression_bodied_operators
IDE0025 Använda uttryckstext för egenskaper csharp_style_expression_bodied_properties
IDE0026 Använda uttryckstext för indexerare csharp_style_expression_bodied_indexers
IDE0027 Använda uttryckstext för accessorer csharp_style_expression_bodied_accessors
IDE0028 Använda insamlingsinitierare dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression (endast C#)
IDE0029 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0030 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0031 Använda null-spridning dotnet_style_null_propagation
IDE0032 Använda automatisk egenskap dotnet_style_prefer_auto_properties
IDE0033 Använd uttryckligen angivet tuppelns namn dotnet_style_explicit_tuple_names
IDE0034 Förenkla default uttryck csharp_prefer_simple_default_expression
IDE0035 Ta bort kod som inte kan nås
IDE0036 Ordermodifierare csharp_preferred_modifier_order
visual_basic_preferred_modifier_order
IDE0037 Använda anlagt medlemsnamn dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Använd mönstermatchning för att undvika is kontroll följt av en gjuten (utan variabel) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Använd lokal funktion i stället för lambda csharp_style_prefer_local_over_anonymous_function
IDE0040 Lägga till hjälpmedelsmodifierare dotnet_style_require_accessibility_modifiers
IDE0041 Använd är null-kontroll dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Dekonstruera variabeldeklaration csharp_style_deconstructed_variable_declaration
IDE0044 Lägg till skrivskyddad modifierare dotnet_style_readonly_field
IDE0045 Använda villkorsuttryck för tilldelning dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Använda villkorsuttryck för retur dotnet_style_prefer_conditional_expression_over_return
IDE0047 Ta bort onödiga parenteser 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 Lägg till parenteser för tydlighetens skull 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 Använda språknyckelord i stället för ramverkstypnamn för typreferenser dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Konvertera anonym typ till tuppeln
IDE0051 Ta bort oanvänd privat medlem
IDE0052 Ta bort oläst privat medlem
IDE0053 Använda uttryckstext för lambdas csharp_style_expression_bodied_lambdas
IDE0054 Använda sammansatt tilldelning dotnet_style_prefer_compound_assignment
IDE0055 Korrigera formatering (För många att lista här. Se formateringsalternativ för .NET och formateringsalternativ för C#.)
IDE0056 Använda indexoperator csharp_style_prefer_index_operator
IDE0057 Använda intervalloperator csharp_style_prefer_range_operator
IDE0058 Ta bort värde för oanvända uttryck csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Ta bort onödig värdetilldelning csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference
IDE0060 Ta bort oanvänd parameter dotnet_code_quality_unused_parameters
IDE0061 Använda uttryckstext för lokala funktioner csharp_style_expression_bodied_local_functions
IDE0062 Gör lokal funktion statisk csharp_prefer_static_local_function
IDE0063 Använda enkel using instruktion csharp_prefer_simple_using_statement
IDE0064 Gör structfält skrivbara
IDE0065 using direktivplacering csharp_using_directive_placement
IDE0066 Använda switch-uttryck csharp_style_prefer_switch_expression
IDE0070 Använda System.HashCode.Combine
IDE0071 Förenkla interpolering dotnet_style_prefer_simplified_interpolation
IDE0072 Lägga till saknade fall för att växla uttryck
IDE0073 Använda filhuvud file_header_template
IDE0074 Använda sammansatt sammansatt tilldelning dotnet_style_prefer_compound_assignment
IDE0075 Förenkla villkorsuttryck dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Ta bort ogiltig global SuppressMessageAttribute
IDE0077 Undvik äldre formatmål i globalt format SuppressMessageAttribute
IDE0078 Använda mönstermatchning csharp_style_prefer_pattern_matching
IDE0079 Ta bort onödig undertryckning dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Ta bort onödig undertryckningsoperator
IDE0081 ByVal har tagits bort
IDE0082 Konvertera typeof till nameof
IDE0083 Använda mönstermatchning (not operator) csharp_style_prefer_not_pattern
IDE0084 Använda mönstermatchning (IsNot operator) visual_basic_style_prefer_isnot_expression
IDE0090 Förenkla new uttryck csharp_style_implicit_object_creation_when_type_is_apparent
IDE0100 Ta bort onödig likhetsoperator
IDE0110 Ta bort onödiga borttagna
IDE0120 Förenkla LINQ-uttryck
IDE0130 Namnområdet matchar inte mappstrukturen dotnet_style_namespace_match_folder
IDE0140 Förenkla skapandet av objekt visual_basic_style_prefer_simplified_object_creation
IDE0150 Föredrar null kontroll över typkontroll csharp_style_prefer_null_check_over_type_check
IDE0160 Använda blockomfattningsnamnområde csharp_style_namespace_declarations
IDE0161 Använda filomfattningsnamnområde csharp_style_namespace_declarations
IDE0170 Förenkla egenskapsmönster csharp_style_prefer_extended_property_pattern
IDE0180 Använd tuppeln för att växla värden csharp_style_prefer_tuple_swap
IDE0200 Ta bort onödigt lambda-uttryck csharp_style_prefer_method_group_conversion
IDE0210 Konvertera till toppnivåinstruktioner csharp_style_prefer_top_level_statements
IDE0211 Konvertera till "Program.Main"-formatprogrammet csharp_style_prefer_top_level_statements
IDE0220 Lägg till explicit gjuten i foreach-loop dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Använda UTF-8 strängliteral csharp_style_prefer_utf8_string_literals
IDE0240 Nullable-direktivet är redundant
IDE0241 Det går inte att upphäva direktivet
IDE0250 Struct kan göras "readonly" csharp_style_prefer_readonly_struct
IDE0251 Medlemmen kan göras "skrivskyddad" csharp_style_prefer_readonly_struct_member
IDE0260 Använda mönstermatchning csharp_style_pattern_matching_over_as_with_null_check
IDE0270 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0280 Använda nameof
IDE0290 Använda primär konstruktor csharp_style_prefer_primary_constructors
IDE0300 Använda samlingsuttryck för matris dotnet_style_prefer_collection_expression
IDE0301 Använd samlingsuttryck för tomt dotnet_style_prefer_collection_expression
IDE0302 Använda samlingsuttryck för stackalloc dotnet_style_prefer_collection_expression
IDE0303 Använda samlingsuttryck för Create() dotnet_style_prefer_collection_expression
IDE0304 Använda samlingsuttryck för builder dotnet_style_prefer_collection_expression
IDE0305 Använda samlingsuttryck för fluent dotnet_style_prefer_collection_expression
IDE1005 Använda villkorsstyrd ombudsanrop csharp_style_conditional_delegate_call
IDE1006 Namngivningsformat

Kommentar

Det finns vissa regler som bara visas i Visual Studio IDE, och dessa gäller JSON och mönstersträngar för reguljära uttryck. Mer information finns i JSON001, JSON002 och RE0001.

Förklaring

I följande tabell visas den typ av information som tillhandahålls för varje regel i referensdokumentationen.

Objekt beskrivning
Regel-ID Den unika identifieraren för regeln. Används för att konfigurera allvarlighetsgrad och ignorera varningar i kodfilen.
Title Rubriken för regeln.
Kategori Kategorin för regeln.
Underkategori Underkategorin för regeln, till exempel Språkregler, Formateringsregler eller Namngivningsregler.
Tillämpliga språk Tillämpliga .NET-språk (C# eller Visual Basic) tillsammans med den lägsta språkversionen, om tillämpligt.
Introducerad version Version av .NET SDK eller Visual Studio när regeln först introducerades.
Alternativ Alla tillgängliga alternativ för regeln.

Se även