Options de configuration des règles de qualité du code
Les règles de qualité du code ont des options de configuration supplémentaires, en plus de simplement configurer leur gravité. Par exemple, chaque analyseur de qualité du code peut être configuré pour s’appliquer uniquement à des parties spécifiques de votre codebase. Vous spécifiez ces options en ajoutant des paires clé-valeur au même fichier EditorConfig que celui où vous spécifiez la gravité des règles et les préférences générales de l’éditeur.
Notes
Cet article ne détaille pas comment configurer la gravité d’une règle. L’option .editorconfig pour définir la gravité d’une règle a un préfixe différent (dotnet_diagnostic
) des options décrites ici (dotnet_code_quality
). En outre, les options décrites ici concernent uniquement les règles de qualité du code, tandis que l’option de gravité s’applique également aux règles de style de code. En guise de référence rapide, vous pouvez configurer la gravité d’une règle à l’aide de la syntaxe d’option suivante :
dotnet_diagnostic.<rule ID>.severity = <severity value>
Toutefois, pour obtenir des informations détaillées sur la configuration de la gravité des règles, consultez la section Niveau de gravité.
Étendue des options
Chaque option d’affinement peut être configurée pour toutes les règles, pour une catégorie de règles (par exemple, Sécurité ou Conception) ou pour une règle spécifique.
Toutes les règles
La syntaxe de configuration d’une option pour toutes les règles est la suivante :
Syntaxe | Exemple |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
Les valeurs pour <OptionName>
sont répertoriées sous Options.
Catégorie de règles
La syntaxe de configuration d’une option pour une catégorie de règles est la suivante :
Syntaxe | Exemple |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
Le tableau suivant répertorie les valeurs disponibles pour <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Règle spécifique
La syntaxe de configuration d’une option pour une règle spécifique est la suivante :
Syntaxe | Exemple |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Options
Cette section répertorie certaines des options disponibles. Pour afficher la liste complète des options disponibles, consultez la section Configuration de l’analyseur.
- 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
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Quelle partie de l’aire d’API analyser | public (s’applique aux API public et protected )internal ou friend (s’applique aux API internal et private protected )private (s’applique aux API private )all (s’applique à toutes les API)Séparer plusieurs valeurs avec une virgule (,) |
public |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234 |
exclude_async_void_methods
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Indique s’il faut ignorer les méthodes asynchrones qui ne retournent pas de valeur | true false |
false |
CA2007 |
Notes
Cette option a été nommée skip_async_void_methods
dans une version antérieure.
exclude_single_letter_type_parameters
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Indique s’il faut exclure les paramètres de type à caractère unique de la règle, par exemple, S dans Collection<S> |
true false |
false |
CA1715 |
Notes
Cette option a été nommée allow_single_letter_type_parameters
dans une version antérieure.
output_kind
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Spécifie que le code d’un projet qui génère ce type d’assembly doit être analysé | Un ou plusieurs champs de l’énumération OutputKind Séparer plusieurs valeurs avec une virgule (,) |
Tous les types de sortie | CA2007 |
required_modifiers
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Spécifie les modificateurs requis pour les API qui doivent être analysées | Une ou plusieurs valeurs de la table des modificateurs autorisés ci-dessous Séparer plusieurs valeurs avec une virgule (,) |
Dépend de chaque règle | CA1802 |
Modificateur autorisé | Résumé |
---|---|
none |
Aucune exigence de modificateur |
static ou Shared |
Doit être déclaré comme static (Shared en Visual Basic) |
const |
Doit être déclaré comme const |
readonly |
Doit être déclaré comme readonly |
abstract |
Doit être déclaré comme abstract |
virtual |
Doit être déclaré comme virtual |
override |
Doit être déclaré comme override |
sealed |
Doit être déclaré comme sealed |
extern |
Doit être déclaré comme extern |
async |
Doit être déclaré comme async |
exclude_extension_method_this_parameter
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Indique s’il faut ignorer l’analyse pour le paramètre this des méthodes d’extension |
true false |
false |
CA1062 |
null_check_validation_methods
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Noms des méthodes de contrôle de valeur null qui valident que les arguments passés à la méthode ne sont pas nuls | Formats de nom de méthode autorisés (séparés par |) : - Nom de la méthode uniquement (inclut toutes les méthodes portant le nom, quel que soit le type ou l’espace de noms conteneur) - Noms qualifiés complets au format d’ID de documentation du symbole, avec un préfixe M: facultatif |
None | CA1062 |
additional_string_formatting_methods
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Noms des méthodes de mise en forme de chaîne supplémentaires | Formats de nom de méthode autorisés (séparés par |) : - Nom de la méthode uniquement (inclut toutes les méthodes portant le nom, quel que soit le type ou l’espace de noms conteneur) - Noms qualifiés complets au format d’ID de documentation du symbole, avec un préfixe M: facultatif |
None | CA2241 |
excluded_type_names_with_derived_types
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Noms de types, de sorte que le type et tous ses types dérivés sont exclus pour l’analyse | Formats de nom de symbole autorisés (séparés par |) : - Nom du type uniquement (inclut tous les types avec le nom, quel que soit le type ou l’espace de noms qui les contient) - Noms qualifiés complets au format d’ID de documentation du symbole, avec un préfixe T: facultatif |
None | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
excluded_symbol_names
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Noms de symboles exclus pour l’analyse | Formats de nom de symbole autorisés (séparés par |) : - Nom du symbole uniquement (inclut tous les symboles avec le nom, quel que soit le type ou l’espace de noms qui les contient) - Noms qualifiés complets au format d’ID de documentation du symbole. Chaque nom de symbole nécessite un préfixe de type symbole, comme le préfixe M: pour les méthodes, le préfixe T: pour les types et le préfixe N: pour les espaces de noms.- .ctor pour les constructeurs et .cctor pour les constructeurs statiques |
None | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
disallowed_symbol_names
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Noms de symboles non autorisés dans le contexte de l’analyse | Formats de nom de symbole autorisés (séparés par |) : - Nom du symbole uniquement (inclut tous les symboles avec le nom, quel que soit le type ou l’espace de noms qui les contient) - Noms qualifiés complets au format d’ID de documentation du symbole. Chaque nom de symbole nécessite un préfixe de type symbole, comme le préfixe M: pour les méthodes, le préfixe T: pour les types et le préfixe N: pour les espaces de noms.- .ctor pour les constructeurs et .cctor pour les constructeurs statiques |
None | CA1031 |
exclude_ordefault_methods
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Exclut les méthodes FirstOrDefault et LastOrDefault de l’analyse. |
true ou false |
false |
CA1826 |
ignore_internalsvisibleto
Description | Valeurs autorisées | Valeur par défaut | Règles configurables |
---|---|---|---|
Inclut les assemblies marqués avec InternalsVisibleToAttribute dans l’analyse. | true ou false |
true |
CA1812CA1852 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour