Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
varpodczas 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 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 dotyczące nazewnictwa elementów kodu. Można na przykład określić, że
asyncnazwy metod muszą mieć sufiks "Async". -
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. |