Share via


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

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