Partager via


Règles de style de code

L’analyse de style de code .NET fournit des règles qui visent à maintenir un style cohérent dans votre codebase. Ces règles ont un préfixe « IDE » dans l’ID de règle.

Les règles de style de code sont organisées dans les sous-catégories suivantes :

  • Règles de code inutiles et linguistiques

    Règles qui relatent au langage C# ou Visual Basic. Par exemple, vous pouvez spécifier des règles concernant l'utilisation de var lors de la définition de variables, ou si les membres à corps d'expression sont préférés. Cette catégorie inclut également des règles qui recherchent du code inutile, par exemple, du code inaccessible dans des méthodes ou des champs privés, des propriétés ou des méthodes inutilisés.

  • Règles de mise en forme

    Règles qui concernent la disposition et la structure de votre code pour en rendre la lecture plus facile. Par exemple, vous pouvez spécifier une option de mise en forme qui définit si les espaces dans les blocs de contrôle sont préférés ou non.

  • Règles d’affectation de noms

    Règles relatives à l’affectation de noms d’éléments de code. Par exemple, vous pouvez spécifier que async les noms de méthode doivent avoir un suffixe « Async ».

  • Règles diverses

    Règles qui n’appartiennent pas à d’autres catégories.

Index

Le tableau suivant répertorie toutes les règles de style de code par ID et options, le cas échéant.

ID de règle Intitulé Choix
IDE0001 Simplifier le nom
IDE0002 Simplifier l’accès au membre
IDE0003 Supprimer la qualification this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Supprimer le cast inutile
IDE0005 Supprimer les importations inutiles
IDE0007 Utiliser var au lieu d’un type explicite csharp_style_var_pour_types_intégrés
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Utiliser un type explicite au lieu de var csharp_style_var_pour_types_intégrés
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Ajouter la qualification this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Ajouter les cas manquants à l'instruction de commutation
IDE0011 Ajouter des accolades csharp_prefer_braces
IDE0016 Utiliser l’expression throw csharp_style_throw_expression
IDE0017 Utiliser des initialiseurs d’objets dotnet_style_object_initializer
IDE0018 Déclaration de variable inline style_csharp_de_déclaration_de_variable_en_ligne
IDE0019 Utiliser les critères spéciaux pour éviter as suivi d’un contrôle null csharp_style_pattern_matching_over_as_with_null_check
IDE0020 Utiliser les critères spéciaux pour éviter la vérification is suivie d'un cast (avec une variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Utiliser un corps d'expression pour les constructeurs csharp_style_expression_bodied_constructors
IDE0022 Utiliser un corps d’expression pour les méthodes méthodes_corps_d'expression_style_csharp
IDE0023 Utiliser un corps d’expression pour les opérateurs de conversion csharp_style_expression_bodied_operators
IDE0024 Utiliser un corps d’expression pour les opérateurs csharp_style_expression_bodied_operators
IDE0025 Utiliser le corps de l'expression pour les propriétés csharp_style_expression_bodied_properties
IDE0026 Utiliser un corps d'expression pour les indexeurs csharp_style_expression_bodied_indexers
IDE0027 Utiliser un corps d’expression pour les accesseurs csharp_style_expression_bodied_accessors
IDE0028 Utiliser des initialiseurs de collections dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 Le contrôle de valeurs Null peut être simplifié dotnet_style_coalesce_expression
IDE0030 Le contrôle de valeurs Null peut être simplifié dotnet_style_coalesce_expression
IDE0031 Utiliser la propagation nulle dotnet_style_null_propagation
IDE0032 Utiliser la propriété automatique dotnet_style_prefer_auto_properties
IDE0033 Utiliser le nom de tuple fourni explicitement dotnet_style_explicit_tuple_names
IDE0034 Simplifier l’expression default csharp_prefer_simple_default_expression
IDE0035 Supprimer le code inacessible
IDE0036 Ordonner les modificateurs csharp_preferred_modifier_order
ordre_de_préférence_des_modificateurs_en_visual_basic
IDE0037 Utiliser un nom de membre déduit dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Utiliser les critères spéciaux pour éviter la vérification is suivie d'un cast (sans variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Utiliser une fonction locale au lieu d’une expression lambda style_csharp_préférer_local_sur_fonction_anonyme
IDE0040 Ajouter des modificateurs d’accessibilité dotnet_style_require_accessibility_modifiers
IDE0041 Utiliser la vérification « is null » dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Déconstruire la déclaration de variable csharp_style_declaration_de_variable_déstructurée
IDE0044 Ajouter un modificateur en lecture seule dotnet_style_readonly_field
IDE0045 Utiliser une expression conditionnelle pour l’assignation dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Utiliser une expression conditionnelle pour le retour dotnet_style_prefer_conditional_expression_over_return
IDE0047 Supprimer les parenthèses inutiles dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_dans_les_opérateurs_binaires_relationnels
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0048 Ajouter des parenthèses à des fins de clarté dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_dans_les_opérateurs_binaires_relationnels
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0049 Utiliser les mots-clés du langage plutôt que les noms de types du framework pour les références de type dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Convertir un type anonyme en tuple
IDE0051 Supprimer un membre privé inutilisé
IDE0052 Supprimer un membre privé non lu
IDE0053 Utiliser un corps d’expression pour les expressions lambda csharp_style_expression_bodied_lambdas
IDE0054 Utiliser une assignation composée dotnet_style_prefer_compound_assignment
IDE0055 Corriger la mise en forme (Trop de listes ici. Consultez les options de mise en forme .NET et les options de mise en forme C#.)
IDE0056 Utiliser un opérateur d’index csharp_style_prefer_index_operator
IDE0057 Utiliser un opérateur de plages csharp_style_prefer_range_operator
IDE0058 Supprimer une valeur d’expression inutilisée csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Supprimer une attribution de valeur inutile csharp_style_unused_value_assignment_preference (préférence de style C# pour l'affectation de valeur non utilisée)
visual_basic_style_unused_value_assignment_preference
IDE0060 Supprimer le paramètre inutilisé dotnet_code_quality_unused_parameters
IDE0061 Utiliser un corps d’expression pour des fonctions locales csharp_style_expression_bodied_local_functions
IDE0062 Créer une fonction locale static csharp_preférer_fonction_locale_statique
IDE0063 Utiliser une instruction using simple csharp_prefère_instruction_utilisation_simple
IDE0064 Rendre les champs de struct accessibles en écriture
IDE0065 using placement des directives csharp_using_directive_placement
IDE0066 Utiliser l’expression switch csharp_style_prefer_switch_expression
IDE0070 Utilisez System.HashCode.Combine.
IDE0071 Simplifier l’interpolation dotnet_style_prefer_simplified_interpolation
IDE0072 Ajouter des cas manquants à une expression switch
IDE0073 Utiliser l’en-tête de fichier modèle_entête_fichier
IDE0074 Utiliser l’affectation composée de fusion dotnet_style_prefer_compound_assignment
IDE0075 Simplifier l’expression conditionnelle dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Supprimer l’attribut global non valide SuppressMessageAttribute
IDE0077 Éviter un format héritée pour la cible dans l’attribut global SuppressMessageAttribute
IDE0078 Utiliser l'appariement de motifs csharp_style_prefer_pattern_matching
IDE0079 Élimination de la suppression inutile dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Supprimer l’opérateur de suppression inutile
IDE0081 Suppression de ByVal
IDE0082 Convertir typeof en nameof
IDE0083 Utilisez la correspondance de modèles (opérateur not) csharp_style_prefer_not_pattern (préférence pour le motif 'not' en C#)
IDE0084 Utilisez la correspondance de modèles (opérateur IsNot) style_visual_basic_préférer_expression_isnot
IDE0090 Simplifier l’expression new style_csharp_creation_objet_implicite_lorsque_type_est_évident
IDE0100 Supprimer l’opérateur d’égalité inutile
IDE0110 Supprimer tout discard inutile
IDE0120 Simplifier une expression LINQ
IDE0121 Simplification de la vérification et de la conversion des types LINQ
IDE0130 L’espace de noms ne correspond pas à la structure des dossiers dotnet_style_namespace_match_folder
IDE0140 Simplifier la création d’objets style_visual_basic_préférer_la_création_d'objet_simplifiée
IDE0150 Préférer la vérification null à la vérification de type csharp_style_preférer_vérification_de_nullité_à_vérification_de_type
IDE0160 Utiliser un espace de noms à portée de bloc csharp_style_namespace_declarations
IDE0161 Utiliser un espace de noms à l'échelle d'un fichier csharp_style_namespace_declarations
IDE0170 Simplifier le modèle de propriété csharp_style_prefer_extended_property_pattern
IDE0180 Utiliser le tuple pour échanger des valeurs csharp_style_prefer_tuple_swap
IDE0200 Supprimer l’expression lambda inutile csharp_style_prefer_method_group_conversion
IDE0210 Convertir en instructions de niveau supérieur csharp_style_préférer_déclarations_au_niveau_supérieur
IDE0211 Convertir en programme de style « Program.Main » csharp_style_préférer_déclarations_au_niveau_supérieur
IDE0220 Ajouter un cast explicite dans la boucle foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Utiliser le littéral de chaîne UTF-8 csharp_style_prefer_utf8_string_literals (préférer les littéraux de chaînes en UTF-8)
IDE0240 La directive nullable est redondante
IDE0241 La directive nullable n’est pas nécessaire
IDE0250 Struct peut être rendu 'readonly' csharp_style_prefer_readonly_struct
IDE0251 Le membre peut être défini en 'readonly' csharp_style_prefer_readonly_struct_member
IDE0260 Utiliser l'appariement de motifs csharp_style_pattern_matching_over_as_with_null_check
IDE0270 Le contrôle de valeurs Null peut être simplifié dotnet_style_coalesce_expression
IDE0280 Utilisez nameof.
IDE0290 Utiliser le constructeur principal csharp_style_prefer_primary_constructors
IDE0300 Utiliser une expression de collection pour le tableau dotnet_style_prefer_collection_expression
IDE0301 Utiliser l'expression de la collection pour le vide dotnet_style_prefer_collection_expression
IDE0302 Utiliser une expression de collection pour stackalloc dotnet_style_prefer_collection_expression
IDE0303 Utilisez une expression de collection pour Create() dotnet_style_prefer_collection_expression
IDE0304 Utiliser l’expression de collection pour le générateur dotnet_style_prefer_collection_expression
IDE0305 Utiliser une expression de collection pour Fluent dotnet_style_prefer_collection_expression
IDE0306 Utiliser l'expression de collecte pour les nouvelles dotnet_style_prefer_collection_expression
IDE0320 Créer une fonction anonyme static csharp_prefer_static_anonymous_function
IDE0330 Préférer « System.Threading.Lock » csharp_prefer_system_threading_lock
IDE0340 Utiliser un type générique indépendant csharp_style_prefer_unbound_generic_type_in_nameof
IDE0350 Utiliser une lambda typée implicitement csharp_style_prefer_implicitly_typed_lambda_expression
IDE1005 Utiliser un appel délégué conditionnel csharp_style_conditional_delegate_call
IDE1006 Styles de nommage
IDE3000 Mettre en œuvre avec Copilot

Remarque

Il existe certaines règles qui s’affichent uniquement dans l’IDE Visual Studio, et celles-ci concernent les chaînes de modèle d’expression régulière et JSON. Pour plus d’informations, consultez JSON001, JSON002 et RE0001.

Légende

Le tableau suivant présente le type d’informations fournies pour chaque règle dans la documentation de référence.

Élément Descriptif
Identificateur de la règle L'identificateur unique de la règle. Utilisé pour configurer la gravité des règles et supprimer les avertissements dans le fichier de code.
Titre Titre de la règle.
Catégorie La catégorie de la règle.
Sous-catégorie Sous-catégorie de la règle, telle que les règles de langage, les règles de mise en forme ou les règles d’affectation de noms.
Langues applicables Langages .NET applicables (C# ou Visual Basic), ainsi que la version de langue minimale, le cas échéant.
Version introduite Version du Kit de développement logiciel (SDK) .NET ou de Visual Studio lors de l’introduction de la règle pour la première fois.
Options Toutes les options disponibles pour la règle.

Voir aussi