Možnosti konfigurace pravidel kvality kódu
Kromě konfigurace závažnosti mají pravidla kvality kódu další možnosti konfigurace. Každý analyzátor kvality kódu je například možné nakonfigurovat tak, aby platil pouze pro konkrétní části základu kódu. Tyto možnosti zadáte přidáním párů klíč-hodnota do stejného EditorConfig souboru, do kterého zadáte závažnosti pravidla a obecné předvolby editoru.
Poznámka:
Tento článek podrobně popisuje, jak nakonfigurovat závažnost pravidla. Možnost .editorconfig pro nastavení závažnosti pravidla má jinou předponu (dotnet_diagnostic
) k možnostem popsaným zde (dotnet_code_quality
). Kromě toho se zde popsané možnosti týkají pouze pravidel kvality kódu, zatímco možnost závažnosti platí i pro pravidla stylu kódu. Jako stručný přehled můžete nakonfigurovat závažnost pravidla pomocí následující syntaxe možností:
dotnet_diagnostic.<rule ID>.severity = <severity value>
Podrobné informace o konfiguraci závažnosti pravidla najdete v tématu Úroveň závažnosti.
Obory možností
Každou možnost upřesnění je možné nakonfigurovat pro všechna pravidla, pro kategorii pravidel (například zabezpečení nebo návrh) nebo pro konkrétní pravidlo.
Všechna pravidla
Syntaxe konfigurace možnosti pro všechna pravidla je následující:
Syntaxe | Příklad |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
Hodnoty pro <OptionName>
jsou uvedeny v části Možnosti.
Kategorie pravidel
Syntaxe pro konfiguraci možnosti pro kategorii pravidel je následující:
Syntaxe | Příklad |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
Následující tabulka uvádí dostupné hodnoty pro <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Konkrétní pravidlo
Syntaxe pro konfiguraci možnosti pro konkrétní pravidlo je následující:
Syntaxe | Příklad |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Možnosti
V této části jsou uvedeny některé z dostupných možností. Úplný seznam dostupných možností najdete v tématu Konfigurace analyzátoru.
- api_surface
- exclude_async_void_methods
- exclude_single_letter_type_parameters
- output_kind
- required_modifiers
- exclude_extension_method_this_parameter
- null_check_validation_methods
- additional_string_formatting_methods
- excluded_type_names_with_derived_types
- excluded_symbol_names
- disallowed_symbol_names
- exclude_ordefault_methods
- ignore_internalsvisibleto
api_surface
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Která část povrchu rozhraní API k analýze | public (platí pro public rozhraní API a protected rozhraní API)internal nebo friend (platí pro internal a private protected rozhraní API)private (platí pro private Rozhraní API)all (platí pro všechna rozhraní API)Oddělení více hodnot čárkou (,) |
public |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036 CA1036 CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716 CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234 |
exclude_async_void_methods
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Jestli se mají ignorovat asynchronní metody, které nevrací hodnotu | true false |
false |
CA2007 |
Poznámka:
Tato možnost byla pojmenována skip_async_void_methods
v dřívější verzi.
exclude_single_letter_type_parameters
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Zda chcete vyloučit parametry typu s jedním znakem z pravidla, S například vCollection<S> |
true false |
false |
CA1715 |
Poznámka:
Tato možnost byla pojmenována allow_single_letter_type_parameters
v dřívější verzi.
output_kind
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Určuje, že kód v projektu, který generuje tento typ sestavení, by se měl analyzovat. | Jedno nebo více polí výčtu OutputKind Oddělení více hodnot čárkou (,) |
Všechny druhy výstupu | CA2007 |
required_modifiers
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Určuje požadované modifikátory pro rozhraní API, která by se měla analyzovat. | Jedna nebo více hodnot z níže uvedené tabulky povolených modifikátorů Oddělení více hodnot čárkou (,) |
Závisí na každém pravidlu. | CA1802 |
Povolený modifikátor | Shrnutí |
---|---|
none |
Žádný požadavek modifikátoru |
static nebo Shared |
Musí být deklarován jako static (Shared v jazyce Visual Basic) |
const |
Musí být deklarována jako const |
readonly |
Musí být deklarována jako readonly |
abstract |
Musí být deklarována jako abstract |
virtual |
Musí být deklarována jako virtual |
override |
Musí být deklarována jako override |
sealed |
Musí být deklarována jako sealed |
extern |
Musí být deklarována jako extern |
async |
Musí být deklarována jako async |
exclude_extension_method_this_parameter
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Zda přeskočit analýzu this parametru rozšiřujících metod |
true false |
false |
CA1062 |
null_check_validation_methods
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Názvy metod ověřování s hodnotou null, které ověřují, že argumenty předané metodě nejsou null. | Povolené formáty názvů metod (oddělené |): - Pouze název metody (zahrnuje všechny metody s názvem bez ohledu na typ nebo obor názvů). - Plně kvalifikované názvy ve formátu ID dokumentace symbolu s volitelnou M: předponou |
Nic | CA1062 |
additional_string_formatting_methods
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Názvy dalších metod formátování řetězců | Povolené formáty názvů metod (oddělené |): - Pouze název metody (zahrnuje všechny metody s názvem bez ohledu na typ nebo obor názvů). - Plně kvalifikované názvy ve formátu ID dokumentace symbolu s volitelnou M: předponou |
Nic | CA2241 |
excluded_type_names_with_derived_types
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Názvy typů, jako je typ a všechny jeho odvozené typy, jsou vyloučeny pro analýzu. | Povolené formáty názvů symbolů (oddělené |): - Pouze název typu (zahrnuje všechny typy s názvem bez ohledu na typ nebo obor názvů) - Plně kvalifikované názvy ve formátu ID dokumentace symbolu s volitelnou T: předponou |
Nic | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377 CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
excluded_symbol_names
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Názvy symbolů, které jsou vyloučené pro analýzu | Povolené formáty názvů symbolů (oddělené |): - Pouze název symbolu (zahrnuje všechny symboly s názvem bez ohledu na typ nebo obor názvů). - Plně kvalifikované názvy ve formátu ID dokumentace symbolu. Každý název symbolu vyžaduje předponu typu symbolu, například M: předponu pro metody, T: předponu pro typy a N: předponu pro obory názvů.- .ctor pro konstruktory a .cctor statické konstruktory |
Nic | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377 CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
disallowed_symbol_names
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Názvy symbolů, které jsou zakázány v kontextu analýzy | Povolené formáty názvů symbolů (oddělené |): - Pouze název symbolu (zahrnuje všechny symboly s názvem bez ohledu na typ nebo obor názvů). - Plně kvalifikované názvy ve formátu ID dokumentace symbolu. Každý název symbolu vyžaduje předponu typu symbolu, například M: předponu pro metody, T: předponu pro typy a N: předponu pro obory názvů.- .ctor pro konstruktory a .cctor statické konstruktory |
Nic | CA1031 |
exclude_ordefault_methods
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Vyloučí FirstOrDefault a LastOrDefault metody z analýzy. |
true nebo false |
false |
CA1826 |
ignore_internalsvisibleto
Popis | Povolené hodnoty | Default value | Konfigurovatelná pravidla |
---|---|---|---|
Zahrnuje sestavení označená InternalsVisibleToAttribute při analýze. | true nebo false |
true |
CA1812CA1852 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro