Megosztás a következőn keresztül:


Kódstílus-szabályok

A .NET kódstílus-elemzés olyan szabályokat biztosít, amelyek a következetes stílus fenntartását célul tűzik ki a kódbázisban. Ezek a szabályok egy "IDE" előtaggal rendelkeznek a szabályazonosítóban.

A kódstílus-szabályok a következő alkategóriákba vannak rendezve:

  • Nyelvi és szükségtelen kódszabályok

    A C# vagy a Visual Basic nyelvre vonatkozó szabályok. Például megadhat olyan szabályokat, amelyek figyelembe veszik a változók meghatározásakor használt var kód használatát, vagy hogy előnyben részesítik-e a kifejezésalapú tagokat. Ez a kategória olyan szabályokat is tartalmaz, amelyek szükségtelen kódot találnak, például nem elérhető kódot a metódusok vagy a nem használt magánmezők, tulajdonságok vagy metódusok között.

  • Formázási szabályok

    A kód elrendezésére és szerkezetére vonatkozó szabályok a könnyebb olvashatóság érdekében. Megadhat például egy formázási beállítást, amely meghatározza, hogy a vezérlőblokkokban lévő szóközök előnyben részesítettek-e vagy sem.

  • Elnevezési szabályok

    A kódelemek elnevezésére vonatkozó szabályok. Megadhatja például, hogy a async metódusneveknek "Async" utótagot kell tartalmazniuk.

  • Egyéb szabályok

    Más kategóriákba nem tartozó szabályok.

Tartalomjegyzék

Az alábbi táblázat felsorolja az összes kódstílus-szabályt azonosító és beállítások szerint, ha vannak ilyenek.

Szabályazonosító Cím Lehetőség
IDE0001 Név egyszerűsítése
IDE0002 Taghozzáférés egyszerűsítése
IDE0003 Távolítsa el a this vagy a Me minősítést dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Fölösleges kasztolás eltávolítása
IDE0005 Szükségtelen importálás eltávolítása
IDE0007 Használja a var az explicit típus helyett csharp_stílus_var_beépített_típusokhoz
csharp_stílus_var_amikor_a_típus_nyilvánvaló
csharp_style_var_elsewhere
IDE0008 Használja az explicit típust ahelyett, hogy var-t használna. csharp_stílus_var_beépített_típusokhoz
csharp_stílus_var_amikor_a_típus_nyilvánvaló
csharp_style_var_elsewhere
IDE0009 Add meg this vagy Me minősítést dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Hiányzó esetek hozzáadása a switch utasításhoz
IDE0011 Kapcsos zárójelek hozzáadása csharp_prefer_braces
IDE0016 Dobókifejezés használata csharp_style_throw_expression
IDE0017 Objektum inicializálók használata dotnet_style_object_initializer (objektum inicializáló stílusa a .NET-ben)
IDE0018 Beágyazott változó deklarációja csharp_stílusú_beágyazott_változó_deklaráció
IDE0019 Mintamegfeleltetés alkalmazása annak elkerülése érdekében, hogy as után null ellenőrzés következzen. csharp_stílusú_mintaillesztés_over_as_nullával_ellenőrzéssel
IDE0020 Használja a mintaegyeztetést az is ellenőrzés és a típuskonverzió (változóval) elkerülése érdekében. csharp_stílus_sémamintázat_azonos_öntvény_ellenőrzés
IDE0021 Kifejezéstörzs használata konstruktorokhoz C# stílusú kifejezésalapú konstruktorok
IDE0022 Kifejezéstörzs használata metódusokhoz csharp_stílusú_kifejezés_kifejezett_metódusok
IDE0023 Kifejezéstörzs használata konverziós operátorokhoz csharp_stílus_kifejezés_formájú_operátorok
IDE0024 Kifejezéstörzs használata operátorokhoz csharp_stílus_kifejezés_formájú_operátorok
IDE0025 Kifejezéstörzs használata tulajdonságokhoz csharp_stílus_kifejezés_testű_tulajdonságok
IDE0026 Kifejezéstörzs használata indexelőkhöz csharp stílusú kifejezéssel befejezett indexelők
IDE0027 Használjon kifejezéstörzseket az accessorokhoz csharp-stílusú_kifejezés-testű_hozzáférők
IDE0028 Gyűjtemény inicializálóinak használata dotnet_style_collection_initializer
dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0029 A null értékű ellenőrzés egyszerűsíthető dotnet_style_coalesce_expression
IDE0030 A null értékű ellenőrzés egyszerűsíthető dotnet_style_coalesce_expression
IDE0031 Null propagálás használata dotnet_style_null_propagation
IDE0032 Automatikus tulajdonság használata dotnet_style_prefer_auto_properties, amely egy beállítás a .NET kódolási stílusokhoz, amely az automatikus tulajdonságok preferálását határozza meg.
IDE0033 Explicit módon megadott tupelnév használata Dotnet stílus explicit tuple nevei
IDE0034 Kifejezés egyszerűsítése default csharp_egyszerűbb_alapértelmezett_kifejezés_engedélyezése
IDE0035 Nem elérhető kód eltávolítása
IDE0036 Rendelésmódosítók csharp_kedvelt_modifikátor_sorrend
visual_basic_előnyben_részesített_módosító_sorrend
IDE0037 A következtetett tagnevet használja dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 A mintamegfeleltetés használata az ellenőrzés elkerülése érdekében, amelyet változó nélküli átalakítás követ is csharp_stílus_sémamintázat_azonos_öntvény_ellenőrzés
IDE0039 Helyi függvény használata lambda helyett csharp_stílus_helyi_preferálás_a_nevesítetlen_függvénnyel_szemben
IDE0040 Akadálymentességi módosítók hozzáadása dotnet_stílus_kötelező_elérhetőségi_modifikátorok
IDE0041 Null-ellenőrzés végrehajtása dotnet_stílus_prefer_is_null_ellenőrzés_referencia_egyenlőség_módszer_helyett
IDE0042 Változó deklarációjának lebontása csharp_stílus_felbontott_változók_deklarálása
IDE0044 Írásvédett módosító hozzáadása `dotnet_style_readonly_field`
IDE0045 Feltételes kifejezés használata hozzárendeléshez dotnet_stílus_kifejezés_hozzárendelése_absztrakció_feltételének_előnyben_részesítése
IDE0046 Feltételes kifejezés használata visszatéréshez dotnet_style_prefer_conditional_expression_over_return
IDE0047 Szükségtelen zárójelek eltávolítása dotnet_stílus_zárójel_aritmetikai_bináris_operátorokban
dotnet_style_parentheses_az_egyenlőségi_kétoperandusos_kifejezésekben
dotnet_style_parentheses_in_other_binary_operators (párosításhasználat más bináris operátorokban)
dotnet_stílus_zárójelek_más_operátorokban
IDE0048 Zárójelek hozzáadása az egyértelműség érdekében dotnet_stílus_zárójel_aritmetikai_bináris_operátorokban
dotnet_style_parentheses_az_egyenlőségi_kétoperandusos_kifejezésekben
dotnet_style_parentheses_in_other_binary_operators (párosításhasználat más bináris operátorokban)
dotnet_stílus_zárójelek_más_operátorokban
IDE0049 Típushivatkozásokhoz használjon nyelvi kulcsszavakat a keretrendszertípusnevek helyett dotnet_style_előre_definiált_típus_helyi_változókhoz_paraméterekhez_tagokhoz
dotnet_style_predefined_type_for_member_access
IDE0050 Névtelen típus konvertálása tuple-é
IDE0051 Nem használt privát tag eltávolítása
IDE0052 Olvasatlan privát tag eltávolítása
IDE0053 A lambdas kifejezéstörzsének használata csharp_style_expression_bodied_lambdas
IDE0054 Összetett hozzárendelés használata dotnet_style_prefer_compound_assignment
IDE0055 Formázás javítása (Túl sok a listához. Lásd: .NET formázási beállítások és C# formázási beállítások.)
IDE0056 Index operátor használata csharp_stílus_preferencia_index_operátor
IDE0057 Tartomány operátor használata csharp_style_prefer_range_operator (C#-stílus, preferálja a tartomány operátort)
IDE0058 A nem használt kifejezésérték eltávolítása csharp_stílus_felesleges_értékkifejezés_utasítás_előnyben
bejáratlan érték kifejezés állítás beállítás stílusa Visual Basic
IDE0059 Felesleges érték hozzárendelésének eltávolítása csharp_stílus_nem_használt_érték_kiosztási_preferencia
visual_basic_stílus_ki_nem_használt_érték_hozzárendelési_preferencia
IDE0060 Nem használt paraméter eltávolítása dotnet_code_quality_nem_használt_paraméterek
IDE0061 Kifejezéstörzs használata helyi függvényekhez csharp_style_kifejezés_alapú_helyi_függvények
IDE0062 Helyi függvény létrehozása static csharp_statikus_helyi_metódus_előnyben_részesítése
IDE0063 Egyszerű using utasítás használata csharp_egyszerűbb_használati_utafüggvény_preferencia
IDE0064 Strukturált mezők írhatóvá tétele
IDE0065 using irányelv elhelyezése csharp_using_directive_placement
IDE0066 Kapcsolókifejezés használata csharp_stílus_preferálja_a_switch_kifejezést
IDE0070 Használja a következő parancsot: System.HashCode.Combine
IDE0071 Az interpoláció egyszerűsítése dotnet_style_prefer_simplified_interpolation
IDE0072 Hiányzó esetek hozzáadása a switch kifejezéshez
IDE0073 Fájlfejléc használata file_header_template
IDE0074 Használja a coalesce összetett hozzárendelést dotnet_style_prefer_compound_assignment
IDE0075 Feltételes kifejezés egyszerűsítése dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Érvénytelen globális SuppressMessageAttribute eltávolítása
IDE0077 Az örökölt formátumcél elkerülése globálisan SuppressMessageAttribute
IDE0078 Mintaegyezés használata csharp_stílus_mintaillesztést_preferál
IDE0079 Szükségtelen elnyomás eltávolítása dotnet_eltávolítja_a_felesleges_szuppressziós_kizárásokat
IDE0080 Szükségtelen elnyomási operátor eltávolítása
IDE0081 Az ByVal eltávolítása
IDE0082 Alakítsa át typeof-t nameof-re
IDE0083 Mintaegyezés használata (not operátor) csharp_stílus_preferáld_a_nem_mintát
IDE0084 Mintaegyezés használata (IsNot operátor) visual_basic_stílus_inkább_isnot_kifejezés
IDE0090 Kifejezés egyszerűsítése new csharp_stílus_implikált_objektum_teremtés_amikor_típus_nyilvánvaló
IDE0100 Szükségtelen egyenlőségi operátor eltávolítása
IDE0110 Szükségtelen kidobás eltávolítása
IDE0120 A LINQ-kifejezés egyszerűsítése
IDE0121 A LINQ-típus ellenőrzésének és konvertálásának egyszerűsítése
IDE0130 A névtér nem egyezik a mappaszerkezettel dotnet_style_namespace_match_folder
IDE0140 Objektumlétrehozás egyszerűsítése visual_basic_style_egyszerusitett_objektum_letrehozasat_reszesitse_elonyben
IDE0150 Előnyben részesítse a null ellenőrzést a típusellenőrzéssel szemben. csharp_stílus_inkább_null_ellenőrzést_mint_típus_ellenőrzést
IDE0160 Blokk hatókörű névtér használata csharp_stílusú_névtér_nyilatkozatok
IDE0161 Fájlhatókörű névtér használata csharp_stílusú_névtér_nyilatkozatok
IDE0170 Tulajdonságminta egyszerűsítése csharp_stílus_kiterjesztett_tulajdonság_minta_preferálása
IDE0180 Értékek felcserélése a tömb használatával csharp_stílus_preferáld_az_átfordítást_tuplél
IDE0200 Szükségtelen lambdakifejezés eltávolítása csharp_style_prefer_method_group_conversion (C# stílus-beállítás a metóduscsoport konverziók preferálására)
IDE0210 Konvertálás legfelső szintű utasításokká csharp_style_prefer_top_level_statements
IDE0211 Konvertálás "Program.Main" stílusú programra csharp_style_prefer_top_level_statements
IDE0220 Explicit cast hozzáadása a foreach ciklusban dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 UTF-8 karakterlánc használata csharp_style_prefer_utf8_string_literals
IDE0240 A nullálható irányelv redundáns
IDE0241 A null értékre vonatkozó irányelv szükségtelen
IDE0250 A szerkezet "olvashatóan" készíthető C# stílus preferált readonly struct
IDE0251 A tag "írásvédett" lehet csharp_style_prefer_readonly_struct_member
IDE0260 Mintaegyezés használata csharp_stílusú_mintaillesztés_over_as_nullával_ellenőrzéssel
IDE0270 A null értékű ellenőrzés egyszerűsíthető dotnet_style_coalesce_expression
IDE0280 Használja a következő parancsot: nameof
IDE0290 Használja az elsődleges konstruktort csharp_style_prefer_primary_constructors (C# stílus: elsősorban az elsődleges konstruktorok használata)
IDE0300 Gyűjteménykifejezés használata tömbhöz dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0301 Használjon gyűjteménykifejezést üres esetén dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0302 Gyűjteménykifejezés használata a stackalloc számára dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0303 Gyűjteménykifejezés használata a következőhöz: Create() dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0304 Építők esetén gyűjteménykifejezést használjon dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0305 Gyűjteménykifejezés használata a Fluent felülethez dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0306 Gyűjteménykifejezés használata újakhoz dotnet_stílus_preferálja_a_gyűjtemény_kifejezést
IDE0320 Névtelen függvény létrehozása static csharp_prefer_static_anonymous_function
IDE0330 A System.Threading.Lock előnyben részesítése csharp_prefer_system_threading_lock
IDE0340 Kötetlen általános típus használata csharp_stílus_inkább_kötetlen_generikus_típust_a_nameof_ban
IDE0350 Implicit módon gépelt lambda használata csharp_style_prefer_implicitly_typed_lambda_expression
IDE0360 Tulajdonság-hozzáférő egyszerűsítése csharp_style_prefer_simple_property_accessors
IDE0370 Szükségtelen elnyomás eltávolítása
IDE0380 Szükségtelen "nem biztonságos" módosító eltávolítása
IDE1005 Feltételes meghatalmazotti hívás használata csharp_stílus_feltételes_delegált_hívás
IDE1006 Elnevezési stílusok
IDE2000 Több üres sor elkerülése dotnet_style_allow_multiple_blank_lines_experimental
IDE2001 A beágyazott utasításoknak a saját vonalukon kell lenniük csharp_style_allow_embedded_statements_on_same_line_experimental
IDE2002 Az egymást követő kapcsos zárójelek között nem lehet üres sor csharp_style_allow_blank_lines_between_consecutive_braces_experimental
IDE2003 Üres sor szükséges a blokk és az azt követő utasítás között dotnet_style_allow_statement_immediately_after_block_experimental
IDE2004 A konstruktor inicializáló kettőspontja után nem engedélyezett üres sor csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental
IDE2005 A feltételes kifejezés jogkivonata után nem engedélyezett üres sor csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental
IDE2006 A nyílkifejezési záradék jogkivonata után nem engedélyezett üres sor csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental
IDE3000 Implementálás a Copilottal

†A szabályok kísérleti jellegűek, és változhatnak vagy eltávolíthatók.

Megjegyzés

Vannak olyan szabályok, amelyek csak a Visual Studio IDE-ben jelennek meg, és ezek jSON-t és reguláris kifejezésminta-sztringeket tartalmaznak. További információ: JSON001, JSON002 és RE0001.

Jelmagyarázat

Az alábbi táblázat a referenciadokumentációban szereplő egyes szabályokhoz megadott információk típusát mutatja be.

Elem Leírás
Szabályazonosító A szabály egyedi azonosítója. A szabály súlyosságának konfigurálására és a kódfájlban lévő figyelmeztetések letiltására szolgál.
Cím A szabály címe.
Kategória A szabály kategóriája.
Alkategória A szabály alkategóriája, például nyelvi szabályok, formázási szabályok vagy elnevezési szabályok.
Alkalmazandó nyelvek Alkalmazható .NET-nyelvek (C# vagy Visual Basic), valamint a minimális nyelvi verzió, ha van.
Bevezetett verzió A .NET SDK vagy a Visual Studio verziója a szabály első bevezetésekor.
Beállítások A szabály bármely rendelkezésre álló lehetősége.

Lásd még