Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Note
Tento článek podrobně popisuje, jak nakonfigurovat závažnost pravidla. Možnost .editorconfig nastavit závažnost 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.
Option scopes
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.
All rules
Syntaxe konfigurace možnosti pro všechna pravidla je následující:
| Syntax | Example |
|---|---|
| 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í:
| Syntax | Example |
|---|---|
| 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
Specific rule
Syntaxe pro konfiguraci možnosti pro konkrétní pravidlo je následující:
| Syntax | Example |
|---|---|
| dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Možnosti
Tato část obsahuje seznam dostupných možností konfigurace pro analyzátory kódu. Další informace naleznete v tématu Konfigurace analyzátoru.
- additional_enum_none_names
- additional_inheritance_excluded_symbol_names
- additional_required_generic_interfaces
- additional_required_suffixes
- additional_use_results_methods
- additional_string_formatting_methods
- allowed_suffixes
- analyzed_symbol_kinds
- api_surface
- assume_method_enumerates_parameters
- možnosti analýzy toku dat
- disallowed_symbol_names
- enable_platform_analyzer_on_pre_net5_target
- enum_values_prefix_trigger
- enumeration_methods
- exclude_aspnet_core_mvc_controllerbase
- exclude_indirect_base_types
- exclude_structs
- exclude_async_void_methods
- exclude_extension_method_this_parameter
- exclude_ordefault_methods
- exclude_single_letter_type_parameters
- excluded_symbol_names
- excluded_type_names_with_derived_types
- ignore_internalsvisibleto
- linq_chain_methods
- null_check_validation_methods
- output_kind
- points_to_analysis_kind
- required_modifiers
- try_determine_additional_string_formatting_methods_automatically
- unsafe_DllImportSearchPath_bits
- use_naming_heuristic
api_surface
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234 |
exclude_async_void_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Jestli se mají ignorovat asynchronní metody, které nevrací hodnotu | truefalse |
false |
CA2007 |
Note
Tato možnost byla pojmenována skip_async_void_methods v dřívější verzi.
exclude_single_letter_type_parameters
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Zda chcete vyloučit parametry typu s jedním znakem z pravidla, S například vCollection<S> |
truefalse |
false |
CA1715 |
Note
Tato možnost byla pojmenována allow_single_letter_type_parameters v dřívější verzi.
output_kind
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 | CA1515, CA1516, CA2007 |
required_modifiers
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
| Allowed Modifier | Summary |
|---|---|
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
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Zda přeskočit analýzu this parametru rozšiřujících metod |
truefalse |
false |
CA1062 |
null_check_validation_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
None | CA1062 |
additional_string_formatting_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
None | CA2241 |
excluded_type_names_with_derived_types
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
None | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
excluded_symbol_names
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
None | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
disallowed_symbol_names
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| 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 |
None | CA1031 |
exclude_ordefault_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Vyloučí FirstOrDefault a LastOrDefault metody z analýzy. |
true nebo false |
false |
CA1826 |
ignore_internalsvisibleto
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Zahrnuje sestavení označená InternalsVisibleToAttribute při analýze. |
true nebo false |
true |
CA1812CA1852 |
try_determine_additional_string_formatting_methods_automatically
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Logická možnost povolení heuristické detekce dalších metod formátování řetězců Metoda je považována za metodu formátování řetězce, pokud má string format parametr následovaný parametrem params object[] . |
true nebo false |
false |
CA2241 |
unsafe_DllImportSearchPath_bits
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Konfigurace hodnoty, která DllImportSearchPath je pro analýzu nebezpečná |
Celočíselné hodnoty System.Runtime.InteropServices.DllImportSearchPath |
770(to znamená) AssemblyDirectory | UseDllDirectoryForDependencies | ApplicationDirectory |
CA5393 |
exclude_aspnet_core_mvc_controllerbase
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Vyloučení ASP.NET Core MVC ControllerBase při zvažování CSRF |
true nebo false |
true |
CA5391 |
enum_values_prefix_trigger
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje prahovou hodnotu pro aktivaci pravidla pojmenování hodnot výčtu. |
-
AnyEnumValue – Pravidlo se aktivuje, pokud některá z hodnot výčtu začíná názvem typu výčtu.
- AllEnumValues – Pravidlo se aktivuje, pokud všechny hodnoty výčtu začínají názvem typu výčtu.
- Heuristic – Pravidlo se aktivuje pomocí výchozí heuristické heuristické metody FxCop (to znamená, že nejméně 75 % hodnot výčtu začíná názvem typu výčtu). |
Heuristic |
CA1712 |
exclude_indirect_base_types
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Vyloučení nepřímých základních typů |
true nebo false |
true |
CA1710 |
additional_required_suffixes
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje další požadované přípony. | Seznam názvů typů (oddělených |) s požadovanou příponou (oddělených znakem ->). Povolené formáty názvů typů:– 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. |
None | CA1710 |
additional_required_generic_interfaces
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje další požadovaná obecná rozhraní. | Seznam názvů rozhraní (oddělených |) s požadovaným obecným plně kvalifikovaným rozhraním (odděleným ->). Povolené formáty rozhraní:– Pouze název rozhraní (zahrnuje všechna rozhraní 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. |
None | CA1010 |
Examples:
| Option Value | Summary |
|---|---|
dotnet_code_quality.CA1010.additional_required_generic_interfaces = ISomething->System.Collections.Generic.IEnumerable`1 |
Očekává se také ISomethingimplementace System.Collections.Generic.IEnumerable\`1 všech typů bez ohledu na jeho obor názvů . |
dotnet_code_quality.CA1010.additional_required_generic_interfaces = T:System.Collections.IDictionary->T:System.Collections.Generic.IDictionary`2 |
Očekává se také implementace System.Collections.IDictionarySystem.Collections.Generic.IDictionary`2všech typů . |
additional_inheritance_excluded_symbol_names
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje typy nebo obory názvů, které se mají vyloučit ze stromu hierarchie dědičnosti. | Povolené formáty názvů typů: – Název typu nebo oboru názvů (zahrnuje všechny typy s názvem bez ohledu na typ nebo obor názvů a všechny typy, jejichž obor názvů obsahuje název). – Typ nebo název oboru názvů končící zástupným znakem (zahrnuje všechny typy, jejichž název začíná daným názvem, bez ohledu na typ nebo obor názvů a všechny typy, jejichž obor názvů obsahuje název). – Plně kvalifikované názvy ve formátu ID dokumentace symbolu s volitelnou T: předponou pro typy nebo N: předpony pro obory názvů.
– Plně kvalifikovaný typ nebo název oboru názvů s volitelnou T: předponou pro typ nebo N: předponu oboru názvů a končící zástupným znakem (zahrnuje všechny typy, jejichž plně kvalifikovaný název začíná daným názvem typu, nebo všechny typy, jejichž plně kvalifikovaný název začíná daným názvem oboru názvů). |
N:System.* (Tato hodnota se vždy automaticky přidá k zadané hodnotě. |
CA1501 |
analyzed_symbol_kinds
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje typy symbolů, které se mají analyzovat. | Jedno nebo více polí oddělených SymbolKind čárkami. | Namespace, NamedType, Method, Property, Event, Parameter |
CA1716 |
use_naming_heuristic
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Konfiguruje, zda parametry nebo názvy vlastností obsahují Text, Messagenebo Caption aktivovat toto pravidlo. |
true nebo false |
false |
CA1303 |
additional_use_results_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje další vlastní rozhraní API, jejichž výsledky se musí použít. | Názvy dalších metod (oddělené |). Povolené formáty názvů metod: – 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. |
None | CA1806 |
allowed_suffixes
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje povolené přípony. | Seznam (oddělený |) povolených přípon | None | CA1711 |
enable_platform_analyzer_on_pre_net5_target
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, jestli se má povolit analýza pro TFM před .NET 5. |
true nebo false |
false |
CA1416 |
exclude_structs
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, jestli se mají vyloučit struktury z analýzy. |
true nebo false |
false |
CA1051 |
additional_enum_none_names
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje další povolené názvy pro pole výčtu nulové hodnoty. | Seznam dalších názvů (oddělených |) | None | CA1008 |
enumeration_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje další vlastní metody, které vytvoří výčet IEnumerable. | Plně kvalifikované názvy dalších metod (oddělené |). | None | CA1851 |
linq_chain_methods
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Určuje další přizpůsobené metody řetězu LINQ (to znamená, že metody přebírají IEnumerable argument a vracejí novou IEnumerable instanci). |
Plně kvalifikované názvy dalších metod (oddělené |). | None | CA1851 |
assume_method_enumerates_parameters
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
Určuje, jestli se má předpokládat, že přizpůsobené metody vyčíslí jejich IEnumerable parametry. |
true nebo false |
false |
CA1851 |
Možnosti analýzy toku dat
Možnosti v této části konfiguruje pravidla analýzy toku dat. Možnosti jsou následující:
- dispose_analysis_kind
- dispose_ownership_transfer_at_constructor
- dispose_ownership_transfer_at_method_call
- interprocedural_analysis_kind
- max_interprocedural_lambda_or_local_function_call_chain
- max_interprocedural_method_call_chain
- copy_analysis
- sufficient_IterationCount_for_weak_KDF_algorithm
Další informace o analýze toku dat najdete v tématu Zápis analyzátorů založených na analýze toku dat.
dispose_analysis_kind
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, které cesty se mají analyzovat z důvodu narušení odstranění. |
-
AllPaths - Sledování a hlášení chybějících porušení dispose na všech cestách (cesty bez výjimky a výjimky). Kromě toho také označte příznakem použití nepodporovaných vzorů dispose, které můžou způsobit potenciální úniky informací.
- AllPathsOnlyNotDisposed - Sledování a hlášení chybějících porušení dispose na všech cestách (cesty bez výjimky a výjimky). Neoznačujte použití nepodporovaných vzorů dispose, které by mohly způsobit potenciální úniky informací.
- NonExceptionPaths - Sledovat a hlásit chybějící porušení dispose pouze na cesty programu bez výjimky. Kromě toho také označte příznakem použití nepodporovaných vzorů dispose, které můžou způsobit potenciální úniky informací.
- NonExceptionPathsOnlyNotDisposed - Sledovat a hlásit chybějící porušení dispose pouze na cesty programu bez výjimky. Neoznačujte použití nepodporovaných vzorů dispose, které by mohly způsobit potenciální úniky informací. |
NonExceptionPaths |
CA2000 |
dispose_ownership_transfer_at_constructor
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Konfigurace převodu vlastnictví dispose pro argumenty předané do vyvolání konstruktoru |
true nebo false |
false |
CA2000 |
dispose_ownership_transfer_at_method_call
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Konfigurace převodu vlastnictví pro uvolnitelné objekty předané jako argumenty volání metod |
true nebo false |
false |
CA2000 |
interprocedural_analysis_kind
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, jestli se má provést meziprocedurální analýza pro volání zdrojových metod |
None, , NonContextSensitiveContextSensitive |
specifické pro každé konfigurovatelné pravidlo | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
max_interprocedural_method_call_chain
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje maximální délku řetězce volání metody pro analýzu meziprocedrální analýzy toku dat. | Unsigned integer | 3 | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
max_interprocedural_lambda_or_local_function_call_chain
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje maximální délku řetězce volání lambda nebo místní funkce pro meziprocedurální analýzu toku dat. | Unsigned integer | 3 | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
points_to_analysis_kind
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, zda se má provést PointsToAnalysis. |
None, , PartialWithoutTrackingFieldsAndPropertiesComplete |
specifické pro každé pravidlo | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
copy_analysis
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Určuje, jestli se má analýza kopírování provádět (sleduje hodnoty a referenční kopie). |
true nebo false |
true pro většinu pravidel |
CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
sufficient_IterationCount_for_weak_KDF_algorithm
| Description | Allowable values | Default value | Configurable rules |
|---|---|---|---|
| Nakonfiguruje dostatečný počet iterací při použití algoritmu slabé funkce odvození klíče (KDF). | Integer | 100000 pro většinu pravidel | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |