Dela via


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.

Innehållsförteckning

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

Regel-ID Titel 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_för_inbyggda_typar
csharp_stil_var_när_typen_är_uppenbar
csharp_style_var_elsewhere
IDE0008 Använd explicit typ i stället för var csharp_style_var_för_inbyggda_typar
csharp_stil_var_när_typen_är_uppenbar
csharp_style_var_elsewhere
IDE0009 Lägg till this- eller Me-kvalifikation dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Lägg till saknade fall i switch-sats
IDE0011 Lägga till klammerparenteser csharp_prefer_braces
IDE0016 Använda utkastsuttryck csharp_style_throw_expression
IDE0017 Använd objektinitierare dotnet_style_object_initializer
IDE0018 Inbäddad variabeldeklaration csharp_stil_inlined_variabeldeklaration
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 (csharp-stil mönstermatchning istället för som med null-kontroll)
IDE0020 Använd mönstermatchning för att undvika is kontroll följt av en gjuten (med variabel) csharp_stil_mönster_matchning_över_är_med_typkontroll
IDE0021 Använd uttryckskropp för konstruktorer csharp_style_expression_bodied_constructors (kroppskonstruktorer med uttrycksstil i C#)
IDE0022 Använd uttrycksbaserad form för metoder csharp_style_expression_bodied_methods
IDE0023 Använd uttrycksform för konverteringsoperatorer csharp_style_expression_bodied_operators (C#-stil för uttrycksbaserade operatorer)
IDE0024 Använd uttrycksform för operatorer csharp_style_expression_bodied_operators (C#-stil för uttrycksbaserade operatorer)
IDE0025 Använd uttrycksbaserad syntax för egenskaper csharp-stil-uttrycksbaserade-egenskaper
IDE0026 Använd uttrycksformat för indexerare csharp_style_expressionsbaserade_indexerare
IDE0027 Använd uttrycksform för accessorerna csharp_stil_uttrycksbaserade_egenskapsaccessorer
IDE0028 Använd insamlingsinitierare dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0030 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0031 Använd null-propagation dotnet_style_null_propagation
IDE0032 Använd automatisk egenskap dotnet_style_prefer_auto_properties
IDE0033 Använd det angivna tuplenamnet dotnet_style_explicit_tuple_names
IDE0034 Förenkla default uttryck csharp_föredra_enkel_standarduttryck
IDE0035 Ta bort kod som inte kan nås
IDE0036 Ordermodifikatorer csharp_föredragen_modifikator_ordning
visual_basic_föredragen_modifierar_ordsföljd
IDE0037 Använda härlett 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 kontrollkontroll följt av en typkonvertering (utan att använda en variabel) csharp_stil_mönster_matchning_över_är_med_typkontroll
IDE0039 Använd lokal funktion i stället för lambda csharp_stil_föredra_lokal_över_anon funktion
IDE0040 Lägga till hjälpmedelsmodifierare dotnet_style_kräv_åtkomsträttighetsmodifierare
IDE0041 Använd nullkontroll dotnet_stil_preferera_is_null_check_över_referens_likhetsmetod
IDE0042 Bryt ner variabeldeklaration csharp_stil_för_dekonstruerad_variabeldeklaration
IDE0044 Lägg till endast läsbar modifierare dotnet_style_readonly_field
IDE0045 Använda villkorsuttryck för tilldelning dotnet_stil_föredrar_villkorsuttryck_över_tilldelning
IDE0046 Använda villkorsuttryck för retur dotnet_style_prefer_conditional_expression_over_return
IDE0047 Ta bort onödiga parenteser punktnet_stil_parenteser_i_aritmetiska_binära_operatorer
dotnet_style_parentheses_in_relational_binary_operators
dotnetstil_klamrar_i_andra_binära_operatorer
dotnet_stil_parentes_i_andra_operatorer
IDE0048 Lägg till parenteser för tydlighetens skull punktnet_stil_parenteser_i_aritmetiska_binära_operatorer
dotnet_style_parentheses_in_relational_binary_operators
dotnetstil_klamrar_i_andra_binära_operatorer
dotnet_stil_parentes_i_andra_operatorer
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 tuppel
IDE0051 Ta bort oanvänd privat medlem
IDE0052 Ta bort oläst privat medlem
IDE0053 Använd uttrycksform för lambdas csharp_stil_uttrycksbaserade_lambdas
IDE0054 Använd 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_föredra_indexoperator
IDE0057 Använda intervalloperator csharp_style_prefer_range_operator
IDE0058 Ta bort värde för oanvända uttryck csharp_stil_oinvänd_värdeuttrycksuttal_preferens
VisuellBasicStil_OanväntVärde_UttalandePreferens
IDE0059 Ta bort onödig värdetilldelning csharp_stil_ointagna_värdetilldelning_preferens
Visual Basic-stil oanvänt värde tilldelningspreferens
IDE0060 Ta bort oanvänd parameter dotnet_kodkvalitet_onödiga_parametrar
IDE0061 Använd uttryckstext för lokala funktioner csharp_stil_uttrycksbaserade_lokala_funktioner
IDE0062 Skapa lokal funktion static csharp_föredra_statisk_lokal_funktion
IDE0063 Använda enkel using instruktion csharp_föredrar_enkel_using_sats
IDE0064 Gör structfält skrivbara
IDE0065 using direktivplacering csharp_using_directive_placement
IDE0066 Använd switch-uttryck csharp_style_prefer_switch_expression (föredra switch-uttryck)
IDE0070 Använd System.HashCode.Combine
IDE0071 Förenkla interpolering dotnet_style_föredrar_förenklad_interpolering
IDE0072 Lägga till saknade fall för att växla uttryck
IDE0073 Använda filhuvud filhuvudmall
IDE0074 Använd koalescerande 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 SuppressMessageAttribute
IDE0078 Använda mönstermatchning csharp_stil_föredra_mönstermatchning
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änd mönster-matchning (not operator) csharp_stil_föredra_inte_mönster
IDE0084 Använd mönster-matchning (IsNot operator) visual_basic_style_prefer_isnot_expression
IDE0090 Förenkla new uttryck csharp_stil_implicit_objektskapande_när_typen_är_tydlig
IDE0100 Ta bort onödig likhetsoperator
IDE0110 Ta bort onödiga kast
IDE0120 Förenkla LINQ-uttryck
IDE0121 Förenkla LINQ-typkontroll och gjutning
IDE0130 Namnområdet matchar inte mappstrukturen dotnet_style_namespace_match_folder
IDE0140 Förenkla skapandet av objekt visual_basic_stil_föredra_förenklad_objektskapelse
IDE0150 Föredra null kontroll framför typgranskning csharp_stil_föredra_nullkontroll_över_typkontroll
IDE0160 Använd blockomfattande namnrymd csharp_stil_namnutrycksdeklarationer
IDE0161 Använd filomfattande namnrymd csharp_stil_namnutrycksdeklarationer
IDE0170 Förenkla egenskapsmönster csharp_stil_föredra_utökad_egenskap_mönster
IDE0180 Använd tuppeln för att växla värden csharp_stil_föredra_tuple_byta
IDE0200 Ta bort onödigt lambda-uttryck csharp_stil_föredra_metodgrupp_konvertering
IDE0210 Konvertera till toppnivåuttryck csharp_style_prefer_top_level_statements
IDE0211 Konvertera till en 'Program.Main'-stil för programmet csharp_style_prefer_top_level_statements
IDE0220 Lägg till en explicit typomvandling i foreach-slinga dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Använd UTF-8 strängliteral csharp_style_prefer_utf8_string_literals
IDE0240 Nullable-direktivet är redundant
IDE0241 Nullbar direktiv är onödigt
IDE0250 Struct kan göras 'skrivskyddad' csharp_style_prefer_readonly_struct
IDE0251 Medlem kan göras "skrivskyddad" csharp_style_prefer_readonly_struct_member
IDE0260 Använda mönstermatchning csharp_style_pattern_matching_over_as_with_null_check (csharp-stil mönstermatchning istället för som med null-kontroll)
IDE0270 Null-kontrollen kan förenklas dotnet_style_coalesce_expression
IDE0280 Använd nameof
IDE0290 Använd primär konstruktor csharp_style_prefer_primary_constructors
IDE0300 Använd samlingsuttryck för array dotnet_style_prefer_collection_expression
IDE0301 Använd ett samlingsuttryck för att hantera tomma element dotnet_style_prefer_collection_expression
IDE0302 Använd samlingsuttryck för stackalloc dotnet_style_prefer_collection_expression
IDE0303 Använd samlingsuttryck för Create() dotnet_style_prefer_collection_expression
IDE0304 Använd samlingsuttryck för builder dotnet_style_prefer_collection_expression
IDE0305 Använd samlingsuttryck för att uppnå flytande syntax dotnet_style_prefer_collection_expression
IDE0306 Använd samlingsuttryck för nya objekt dotnet_style_prefer_collection_expression
IDE0320 Gör anonym funktion static csharp_prefer_static_anonymous_function
IDE0330 Föredra "System.Threading.Lock" csharp_föredrar_system_threading_lås
IDE0340 Använda obundna generiska typer Step 2: csharp_stil_föredra_ovillig_generisk_typ_i_nameof
IDE0350 Använd implicit typad lambda csharp_stil_föredrar_implicita_typ_lambda_uttryck
IDE1005 Använd villkorsstyrd delegeringsanrop csharp_stil_konditionell_delegatkall
IDE1006 Namngivningsformat
IDE3000 Implementera med Copilot

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