Konfigurationsalternativ för kodkvalitetsregel
Kodkvalitetsreglerna har ytterligare konfigurationsalternativ, förutom att bara konfigurera deras allvarlighetsgrad. Till exempel kan varje kodkvalitetsanalys konfigureras för att endast gälla för specifika delar av din kodbas. Du anger de här alternativen genom att lägga till nyckel/värde-par i samma EditorConfig fil där du anger regel allvarlighetsgrad och allmänna redigeringsinställningar.
Kommentar
Den här artikeln beskriver inte hur du konfigurerar en regels allvarlighetsgrad. Alternativet .editorconfig för att ange en regels allvarlighetsgrad har ett annat prefix (dotnet_diagnostic
) än de alternativ som beskrivs här (dotnet_code_quality
). Dessutom gäller de alternativ som beskrivs här endast kodkvalitetsregler, medan allvarlighetsgradsalternativet även gäller för regler för kodformat. Som snabbreferens kan du konfigurera en regels allvarlighetsgrad med hjälp av följande alternativsyntax:
dotnet_diagnostic.<rule ID>.severity = <severity value>
Detaljerad information om hur du konfigurerar regelns allvarlighetsgrad finns dock i Allvarlighetsgrad.
Alternativomfattningar
Varje förfinande alternativ kan konfigureras för alla regler, för en kategori av regler (till exempel Säkerhet eller Design) eller för en specifik regel.
Alla regler
Syntaxen för att konfigurera ett alternativ för alla regler är följande:
Syntax | Exempel |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
Värdena för <OptionName>
visas under Alternativ.
Kategori av regler
Syntaxen för att konfigurera ett alternativ för en regelkategori är följande:
Syntax | Exempel |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
I följande tabell visas tillgängliga värden för <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Specifik regel
Syntaxen för att konfigurera ett alternativ för en specifik regel är följande:
Syntax | Exempel |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Alternativ
I det här avsnittet visas några av de tillgängliga alternativen. En fullständig lista över tillgängliga alternativ finns i Analyserarkonfiguration.
- 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
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Vilken del av API-ytan som ska analyseras | public (gäller för public och protected API:er)internal eller friend (gäller för internal och private protected API:er)private (gäller för private API:er)all (gäller för alla API:er)Avgränsa flera värden med kommatecken (,) |
public |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234 |
exclude_async_void_methods
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Om du vill ignorera asynkrona metoder som inte returnerar ett värde | true false |
false |
CA2007 |
Kommentar
Det här alternativet namngavs skip_async_void_methods
i en tidigare version.
exclude_single_letter_type_parameters
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Om parametrar av typen en tecken ska undantas från regeln, till exempel S iCollection<S> |
true false |
false |
CA1715 |
Kommentar
Det här alternativet namngavs allow_single_letter_type_parameters
i en tidigare version.
output_kind
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Anger att kod i ett projekt som genererar den här typen av sammansättning ska analyseras | Ett eller flera fält i OutputKind uppräkningen Avgränsa flera värden med kommatecken (,) |
Alla utdatatyper | CA2007 |
required_modifiers
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Anger nödvändiga modifierare för API:er som ska analyseras | Ett eller flera värden från tabellen med tillåtna modifierare nedan Avgränsa flera värden med kommatecken (,) |
Beror på varje regel | CA1802 |
Tillåten modifierare | Sammanfattning |
---|---|
none |
Inga krav på modifierare |
static eller Shared |
Måste deklareras som static (Shared i Visual Basic) |
const |
Måste deklareras som const |
readonly |
Måste deklareras som readonly |
abstract |
Måste deklareras som abstract |
virtual |
Måste deklareras som virtual |
override |
Måste deklareras som override |
sealed |
Måste deklareras som sealed |
extern |
Måste deklareras som extern |
async |
Måste deklareras som async |
exclude_extension_method_this_parameter
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Om du vill hoppa över analys för parametern this för tilläggsmetoder |
true false |
false |
CA1062 |
null_check_validation_methods
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Namn på valideringsmetoder med null-kontroll som verifierar att argument som skickas till metoden inte är null | Tillåtna metodnamnformat (avgränsade med |): – Endast metodnamn (innehåller alla metoder med namnet, oavsett vilken typ eller namnrymd som finns) – Fullständigt kvalificerade namn i symbolens dokumentations-ID-format, med ett valfritt M: prefix |
Ingen | CA1062 |
additional_string_formatting_methods
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Namn på ytterligare strängformateringsmetoder | Tillåtna metodnamnformat (avgränsade med |): – Endast metodnamn (innehåller alla metoder med namnet, oavsett vilken typ eller namnrymd som finns) – Fullständigt kvalificerade namn i symbolens dokumentations-ID-format, med ett valfritt M: prefix |
Ingen | CA2241 |
excluded_type_names_with_derived_types
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Namn på typer, så att typen och alla dess härledda typer undantas för analys | Tillåtna symbolnamnformat (avgränsade med |): – Skriv endast namn (innehåller alla typer med namnet, oavsett vilken typ eller namnrymd som finns) – Fullständigt kvalificerade namn i symbolens dokumentations-ID-format, med ett valfritt T: prefix |
Ingen | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
excluded_symbol_names
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Namn på symboler som undantas för analys | Tillåtna symbolnamnformat (avgränsade med |): - Endast symbolnamn (innehåller alla symboler med namnet, oavsett vilken typ eller namnrymd som finns) – Fullständigt kvalificerade namn i symbolens dokumentations-ID-format. Varje symbolnamn kräver ett symboltypprefix, till exempel M: prefix för metoder, T: prefix för typer och N: prefix för namnområden.- .ctor för konstruktorer och .cctor för statiska konstruktorer |
Ingen | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
disallowed_symbol_names
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Namn på symboler som inte tillåts i samband med analysen | Tillåtna symbolnamnformat (avgränsade med |): - Endast symbolnamn (innehåller alla symboler med namnet, oavsett vilken typ eller namnrymd som finns) – Fullständigt kvalificerade namn i symbolens dokumentations-ID-format. Varje symbolnamn kräver ett symboltypprefix, till exempel M: prefix för metoder, T: prefix för typer och N: prefix för namnområden.- .ctor för konstruktorer och .cctor för statiska konstruktorer |
Ingen | CA1031 |
exclude_ordefault_methods
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Exkluderar FirstOrDefault och LastOrDefault metoder från analys. |
true eller false |
false |
CA1826 |
ignore_internalsvisibleto
beskrivning | Tillåtna värden | Default value | Konfigurerbara regler |
---|---|---|---|
Innehåller sammansättningar som markerats med InternalsVisibleToAttribute i analysen. | true eller false |
true |
CA1812CA1852 |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för