Règles de style de code

.NET’analyse de style code fournit des règles qui visent à maintenir une style cohérente dans votre base de code. 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 relatives 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 Le nom peut être simplifié 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_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Utiliser un type explicite au lieu de var csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 L’accès aux membres doit être qualifié 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 csharp_style_inlined_variable_declaration
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 csharp_style_expression_bodied_methods
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 ordre_préféré_des_modificateurs_csharp
visual_basic_preferred_modifier_order
IDE0037 Utiliser un nom de membre déduit dotnet_style_prefer_inferred_tuple_names (option de style de configuration dans .NET pour préférer des noms de tuple inférés)
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 csharp_style_prefer_local_over_anonymous_function
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_deconstructed_variable_declaration
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_in_relational_binary_operators
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_in_relational_binary_operators
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 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
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_prefer_static_local_function
IDE0063 Utiliser une instruction using simple csharp_prefer_simple_using_statement
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. dotnet_prefer_system_hash_code
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
IDE0084 Utilisez la correspondance de modèles (opérateur IsNot) visual_basic_style_prefer_isnot_expression
IDE0090 Simplifier l’expression new csharp_style_implicit_object_creation_when_type_is_apparent
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 visual_basic_style_prefer_simplified_object_creation
IDE0150 Préférer la vérification null à la vérification de type csharp_style_prefer_null_check_over_type_check
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_prefer_top_level_statements
IDE0211 Convertir en programme de style « Program.Main » csharp_style_prefer_top_level_statements
IDE0220 Ajouter un cast explicite dans la boucle foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0221 Ajouter un cast explicite dotnet_style_prefer_non_hidden_explicit_cast_in_source
IDE0230 Utiliser le littéral de chaîne UTF-8 csharp_style_prefer_utf8_string_literals
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
IDE0360 Simplifier l’accesseur de propriété csharp_style_prefer_simple_property_accessors
IDE0370 Élimination de la suppression inutile
IDE0380 Supprimer le modificateur « non sécurisé » inutile
IDE1005 Utiliser un appel délégué conditionnel csharp_style_conditional_delegate_call
IDE1006 Styles de nommage
IDE2000 Éviter plusieurs lignes vides dotnet_style_allow_multiple_blank_lines_experimental
IDE2001 Les instructions intégrées doivent être sur une ligne distincte csharp_style_allow_embedded_statements_on_same_line_experimental
IDE2002 Les accolades consécutives ne doivent pas avoir de ligne vide entre elles csharp_style_allow_blank_lines_between_consecutive_braces_experimental
IDE2003 Ligne vide requise entre l’instruction block et l’instruction suivante dotnet_style_allow_statement_immediately_after_block_experimental
IDE2004 Ligne vide non autorisée après le signe deux-points d’initialiseur du constructeur csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental
IDE2005 Ligne vide non autorisée après le jeton d’expression conditionnelle csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental
IDE2006 Ligne vide non autorisée après le jeton de clause d’expression fléchée csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental
IDE3000 Implémenter avec Copilot

†Les règles sont expérimentales et sujettes à modification ou suppression.

Remarque

Certaines règles s’affichent uniquement dans le 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 Langues applicables .NET (C# ou Visual Basic), ainsi que la version minimale du langage, le cas échéant.
Version introduite Version du Kit de développement logiciel (SDK) .NET ou Visual Studio lors de la première introduction de la règle.
Options Toutes les options disponibles pour la règle.

Voir aussi