Udostępnij za pomocą


Reguły stylu kodu

Analiza stylu kodu platformy .NET udostępnia reguły, które mają na celu zachowanie spójnego stylu w bazie kodu. Te reguły mają prefiks "IDE" w identyfikatorze reguły.

Reguły stylu kodu są zorganizowane w następujące podkategorie:

  • Język i niepotrzebne reguły kodu

    Reguły dotyczące języka C# lub Visual Basic. Można na przykład określić reguły, które dotyczą użycia var podczas definiowania zmiennych, lub czy preferowani są członkowie z ciałem wyrażenia. Ta kategoria obejmuje również reguły, które znajdą niepotrzebny kod, na przykład niemożliwy do osiągnięcia kod w ramach metod lub nieużywane pola prywatne, właściwości lub metody.

  • Reguły formatowania

    Reguły dotyczące układu i struktury kodu w celu ułatwienia ich odczytania. Można na przykład określić opcję formatowania, która określa, czy spacje w blokach sterowania są preferowane, czy nie.

  • Reguły nazewnictwa

    Reguły dotyczące nazewnictwa elementów kodu. Można na przykład określić, że async nazwy metod muszą mieć sufiks "Async".

  • Różne reguły

    Reguły, które nie należą do innych kategorii.

Indeks

W poniższej tabeli wymieniono wszystkie reguły stylu kodu według identyfikatora i opcji, jeśli istnieją.

Identyfikator zasady Tytuł Opcja
IDE0001 Uprość nazwę
IDE0002 Uproszczenie dostępu do członków
IDE0003 Usuń kwalifikację this lub Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Usuń niepotrzebne rzutowanie
IDE0005 Usuwanie niepotrzebnego importowania
IDE0007 Użyj var zamiast jawnego typu styl_csharp_var_dla_wbudowanych_typów
styl_csharp_var_gdy_typ_jest_ewidentny
csharp_style_var_elsewhere
IDE0008 Użyj jawnego typu zamiast var styl_csharp_var_dla_wbudowanych_typów
styl_csharp_var_gdy_typ_jest_ewidentny
csharp_style_var_elsewhere
IDE0009 Dodaj this lub Me kwalifikację dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Dodaj brakujące przypadki do instrukcji switch
IDE0011 Dodawanie nawiasów klamrowych preferowane_nawiasy
IDE0016 Używanie wyrażenia throw csharp_style_throw_expression (styl wyrażenia throw w C#)
IDE0017 Używanie inicjatorów obiektów dotnet_style_inicjalizator_obiektów
IDE0018 Deklaracja zmiennej wbudowanej csharp_style_inlined_variable_declaration (csharp_styl_deklaracji_zmiennej_w_linii)
IDE0019 Użyj dopasowania wzorca, aby uniknąć as występującego przed null sprawdzeniem csharp_style_pattern_matching_over_as_with_null_check (styl wzorca csharp nad "as" z kontrolą wartości null)
IDE0020 Użyj dopasowania wzorca, aby uniknąć is sprawdzania, po którym następuje rzutowanie (ze zmienną) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Użyj treści wyrażenia dla konstruktorów csharp_style_expression_bodied_constructors
IDE0022 Użyj treści wyrażenia dla metod styl_Csharp_metody_wyrażeń
IDE0023 Stosuj ciało wyrażenia dla operatorów konwersji styl_wyrażeniowy_operatorów_w_csharp
IDE0024 Użyj ciała wyrażeniowego dla operatorów styl_wyrażeniowy_operatorów_w_csharp
IDE0025 Użyj treści wyrażenia dla właściwości csharp_style_expression_bodied_properties
IDE0026 Używanie treści wyrażenia dla indeksatorów csharp_style_expression_bodied_indexers (styl C# dla indeksatorów opartych na wyrażeniach)
IDE0027 Używanie treści wyrażenia dla metod dostępu csharp_style_expression_bodied_accessors
IDE0028 Używanie inicjatorów kolekcji dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0030 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0031 Użyj propagacji null dotnet_style_null_propagation
IDE0032 Użyj właściwości auto dotnet_style_prefer_auto_properties
IDE0033 Użyj jawnie podanej nazwy krotki dotnet_style_explicit_tuple_names
IDE0034 Upraszczanie default wyrażenia csharp_prefer_simple_default_expression (preferuj prostą domyślną formę w C#)
IDE0035 Usuwanie nieosiągalnego kodu
IDE0036 Modyfikatory kolejności preferowana_kolejnosc_modyfikatorow_csharp
visual_basic_preferred_modifier_order
IDE0037 Użyj wywnioskowanej nazwy elementu dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Użyj dopasowania wzorca, aby uniknąć is sprawdzania, po którym następuje rzutowanie (bez zmiennej) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Użyj funkcji lokalnej zamiast lambda csharp_style_prefer_local_over_anonymous_function
IDE0040 Dodawanie modyfikatorów ułatwień dostępu styl_dotnet_wymagaj_modyfikatorów_dostępności
IDE0041 Użyj sprawdzania, czy wartość jest null dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Dekonstrukcja zmiennej deklaracji styl_deklaracji_zmiennych_zdekonstrukowany_csharp
IDE0044 Dodaj modyfikator tylko do odczytu styl .NET dla pola tylko do odczytu
IDE0045 Używanie wyrażenia warunkowego do przypisania dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Używanie wyrażenia warunkowego do zwracania dotnet_style_prefer_conditional_expression_over_return
IDE0047 Usuwanie niepotrzebnych nawiasów dotnet_style_parentheses_in_arithmetic_binary_operators
styl_dotnet_nawiasy_w_relacyjnych_operatorach_binarnych
dotnet_styl_nawiasów_w_innych_operatorach_binarnych
dotnet_style_nawiasy_w_innych_operacjach
IDE0048 Dodawanie nawiasów w celu uzyskania jasności dotnet_style_parentheses_in_arithmetic_binary_operators
styl_dotnet_nawiasy_w_relacyjnych_operatorach_binarnych
dotnet_styl_nawiasów_w_innych_operatorach_binarnych
dotnet_style_nawiasy_w_innych_operacjach
IDE0049 Używaj słów kluczowych języka zamiast nazw typów frameworku do odniesień do typów dotnet_styl_typu_przeddefiniowanego_dla_lokalnych_parametrów_członków
dotnet_style_predefined_type_for_member_access
IDE0050 Konwertowanie typu anonimowego na krotkę
IDE0051 Usuń nieużywany element członkowski prywatny
IDE0052 Usuń nieprzeczytane prywatne członkostwo
IDE0053 Używanie treści wyrażenia dla lambd csharp_style_expression_bodied_lambdas
IDE0054 Używanie przypisania złożonego dotnet_style_prefer_compound_assignment
IDE0055 Naprawianie formatowania (Zbyt wiele, aby wyświetlić listę tutaj. Zobacz Opcje formatowania platformy .NET i opcje formatowania języka C#).
IDE0056 Użyj operatora indeksu preferencja_stylu_csharp_operator_indeksu
IDE0057 Użyj operatora zakresu Preferowanie operatora zakresu w stylu C#
IDE0058 Usuń nieużywaną wartość wyrażenia csharp_style_unused_value_expression_statement_preference (preferencja dotycząca stylu C# dla wyrażeń o nieużywanej wartości)
preferencja_instrukcji_Visual_Basic_stylu_nieużywanego_wyrażenia_wartości
IDE0059 Usuwanie niepotrzebnego przypisania wartości preferencje_stylu_przypisywania_nieużywanych_wartości_csharp
preferencja_niewykorzystanego_przypisania_wartości_w_stylu_visual_basic
IDE0060 Usuń nieużywany parametr dotnet_code_quality_unused_parameters
IDE0061 Użyj składni wyrażenia w funkcjach lokalnych csharp_style_wyrażeniowe_funkcje_lokalne
IDE0062 Ustaw funkcję lokalną static preferowanie_statycznych_funkcji_lokalnych_csharp
IDE0063 Użyj prostej instrukcji using preferuje_proste_instrukcje_using_w_csharpie
IDE0064 Tworzenie pól struktury zapisywalnych
IDE0065 using umieszczanie dyrektywy csharp_using_directive_placement
IDE0066 Użyj wyrażenia switch Preferencja stylu C#: używanie wyrażeń switch
IDE0070 Użyj System.HashCode.Combine
IDE0071 Upraszczanie interpolacji dotnet_style_prefer_simplified_interpolation
IDE0072 Dodaj brakujące przypadki do wyrażenia switch
IDE0073 Użyj nagłówka pliku szablon_nagłówka_pliku
IDE0074 Używanie przypisania złożonego z użyciem operatora złączenia dotnet_style_prefer_compound_assignment
IDE0075 Upraszczanie wyrażenia warunkowego dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Usuń nieprawidłowy element globalny SuppressMessageAttribute
IDE0077 Unikaj starszego formatu docelowego w skali globalnej SuppressMessageAttribute
IDE0078 Korzystanie z dopasowania do wzorca csharp_style_prefer_pattern_matching (preferencja stylu C# dla dopasowywania wzorców)
IDE0079 Usuwanie niepotrzebnej supresji dotnet_usuń_niepotrzebne_wyjątki_skróceń
IDE0080 Usuwanie niepotrzebnego operatora tłumienia
IDE0081 Usuń ByVal
IDE0082 Konwertowanie typeof na nameof
IDE0083 Użyj dopasowywania wzorca (operator not) preferowane_csharp_style_wzor_nie
IDE0084 Użyj dopasowywania wzorca (operator IsNot) preferowanie_wyrażenia_isnot_stylu_visual_basic
IDE0090 Upraszczanie new wyrażenia csharp_style_tworzenie_obiektu_implicitnego_gdy_typ_jest_jasny
IDE0100 Usuwanie niepotrzebnego operatora równości
IDE0110 Usuwanie zbędnych odrzuceń
IDE0120 Upraszczanie wyrażenia LINQ
IDE0121 Uproszczenie sprawdzania i rzutowanie typu LINQ
IDE0130 Przestrzeń nazw nie jest zgodna ze strukturą folderów dotnet_style_namespace_match_folder
IDE0140 Upraszczanie tworzenia obiektów styl_visual_basic_preferowany_upraszczony_tworzenie_obiektów
IDE0150 Preferuj null sprawdzanie nad sprawdzaniem typu csharp_style_prefer_null_check_over_type_check
IDE0160 Korzystaj z przestrzeni nazw o zakresie bloku `csharp_style_namespace_declarations` - styl deklaracji przestrzeni nazw C#
IDE0161 Użyj przestrzeni nazw o zakresie plików `csharp_style_namespace_declarations` - styl deklaracji przestrzeni nazw C#
IDE0170 Upraszczanie wzorca właściwości csharp_style_prefer_extended_property_pattern (preferuje rozszerzony wzorzec właściwości)
IDE0180 Zamiana wartości za pomocą krotki csharp_style_prefer_tuple_swap (preferowany styl zamiany krotek w C#)
IDE0200 Usuwanie niepotrzebnego wyrażenia lambda csharp_style_prefer_method_group_conversion
IDE0210 Konwertowanie na deklaracje najwyższego poziomu csharp_style_prefer_top_level_statements (preferowanie najwyższego poziomu instrukcji w C#)
IDE0211 Konwertuj na program stylu "Program.Main" csharp_style_prefer_top_level_statements (preferowanie najwyższego poziomu instrukcji w C#)
IDE0220 Dodaj jawny rzut w pętli foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Użyj literału ciągu UTF-8 preferowanie_literali_łańcuchowych_utf8_w_stylu_csharp
IDE0240 Dyrektywa Nullable jest nadmiarowa
IDE0241 Dyrektywa anulowalności jest niepotrzebna
IDE0250 Struktura może być oznaczona jako 'readonly' csharp_style_prefer_readonly_struct
IDE0251 Członek może być tylko do odczytu csharp_style_prefer_readonly_struct_member
IDE0260 Korzystanie z dopasowania do wzorca csharp_style_pattern_matching_over_as_with_null_check (styl wzorca csharp nad "as" z kontrolą wartości null)
IDE0270 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0280 Użyj nameof
IDE0290 Użyj konstruktora podstawowego csharp_style_prefer_primary_constructors
IDE0300 Używanie wyrażenia kolekcji dla tablicy dotnet_style_prefer_collection_expression
IDE0301 Zastosowanie wyrażenia kolekcji dla pustej kolekcji dotnet_style_prefer_collection_expression
IDE0302 Używanie wyrażenia kolekcji dla obiektu stackalloc dotnet_style_prefer_collection_expression
IDE0303 Użyj wyrażenia kolekcji dla Create() dotnet_style_prefer_collection_expression
IDE0304 Użyj wyrażenia kolekcji dla budowniczego dotnet_style_prefer_collection_expression
IDE0305 Użycie wyrażenia kolekcji dla płynności dotnet_style_prefer_collection_expression
IDE0306 Użyj wyrażenia kolekcji dla nowych tworzeń dotnet_style_prefer_collection_expression
IDE0320 Ustaw funkcję anonimową static csharp_prefer_static_anonymous_function
IDE0330 Preferuj opcję "System.Threading.Lock" csharp_prefer_system_threading_lock
IDE0340 Użyj niepowiązanego typu ogólnego If explanation or additional context is required, it should be provided outside of the tag and term: Preferowanie niezwiązanych typów ogólnych w "nameof" w stylu C#.
IDE0350 Używanie niejawnie wpisanych lambda csharp_style_prefer_implicitly_typed_lambda_expression (preferowanie wyrażeń lambda z typami domniemanymi)
IDE0360 Upraszczanie dostępu do właściwości csharp_style_prefer_simple_property_accessors
IDE0370 Usuwanie niepotrzebnej supresji
IDE0380 Usuwanie niepotrzebnego modyfikatora "niebezpiecznego"
IDE1005 Używanie wywołania delegata warunkowego csharp_style_conditional_delegate_call
IDE1006 Style nazewnictwa
IDE2000 Unikaj wielu pustych wierszy dotnet_style_allow_multiple_blank_lines_experimental
IDE2001 Instrukcje osadzone muszą znajdować się we własnym wierszu csharp_style_allow_embedded_statements_on_same_line_experimental
IDE2002 Kolejne nawiasy klamrowe nie mogą mieć pustego wiersza między nimi csharp_style_allow_blank_lines_between_consecutive_braces_experimental
IDE2003 Pusty wiersz wymagany między blokiem a kolejną instrukcją dotnet_style_allow_statement_immediately_after_block_experimental
IDE2004 Pusty wiersz jest niedozwolony po dwukropku inicjatora konstruktora csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental
IDE2005 Pusty wiersz jest niedozwolony po tokenie wyrażenia warunkowego csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental
IDE2006 Pusty wiersz jest niedozwolony po tokenie klauzuli wyrażenia strzałki csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental
IDE3000 Implementacja za pomocą narzędzia Copilot

†To zasady są eksperymentalne i mogą ulec zmianie lub usunięciu.

Uwaga

Istnieją pewne reguły, które są widoczne tylko w środowisku IDE programu Visual Studio i które dotyczą ciągów wzorców JSON i wyrażeń regularnych. Aby uzyskać więcej informacji, zobacz JSON001, JSON002 i RE0001.

Legenda

W poniższej tabeli przedstawiono typ informacji podanych dla każdej reguły w dokumentacji referencyjnej.

Produkt opis
Identyfikator reguły Unikatowy identyfikator reguły. Służy do konfigurowania ważności reguły i pomijania ostrzeżeń w pliku kodu.
Tytuł Tytuł reguły.
Kategoria Kategoria reguły.
Podkategorii Podkategoria reguły, taka jak reguły języka, reguły formatowania lub reguły nazewnictwa.
Odpowiednie języki Odpowiednie języki platformy .NET (C# lub Visual Basic) wraz z minimalną wersją języka, jeśli ma to zastosowanie.
Wprowadzona wersja Wersja zestawu .NET SDK lub programu Visual Studio, gdy reguła została wprowadzona po raz pierwszy.
Opcje Wszystkie dostępne opcje reguły.

Zobacz też