Conventions de mise en forme C++ d’EditorConfig
Vous pouvez ajouter des fichiers EditorConfig à votre projet pour configurer la mise en forme C++ afin d’appliquer un style de code cohérent pour tout le monde qui contribue au projet. Visual Studio et Visual Studio Code prennent en charge EditorConfig intégré pour chacun des paramètres de mise en forme global de Visual Studio C++. Les paramètres EditorConfig sont stockés dans un .editorconfig
fichier. Lorsque ce fichier est présent dans votre projet, il est prioritaire sur les paramètres de mise en forme de Visual Studio.
Ce document répertorie tous les paramètres de mise en forme EditorConfig C++ pris en charge par Visual Studio et Visual Studio Code.
Le cas échéant, consultez les références suivantes :
- À l’aide d’un fichier EditorConfig dans Visual Studio, consultez Définir des styles de codage cohérents avec EditorConfig.
- Créez manuellement un fichier EditorConfig en fonction des paramètres de mise en forme clang, consultez clangformat. Renommez ce fichier
.editorconfig
et enregistrez-le dans votre projet.
Conventions de mise en forme C++
Les paramètres EditorConfig pour la mise en forme C++ sont précédés de cpp_
. Voici un exemple de ce à quoi un .editorconfig
fichier peut ressembler :
[*.{c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}]
cpp_indent_case_contents_when_block = true
cpp_new_line_before_open_brace_namespace = same_line
Le reste de ce document répertorie tous les paramètres de mise en forme C++ d’EditorConfig pris en charge par Visual Studio et VS Code.
Paramètres de mise en retrait
Mettre en retrait les accolades
- Nom :
cpp_indent_braces
- Valeurs :
true
,false
Mettre en retrait chaque ligne par rapport à
- Nom:
cpp_indent_multi_line_relative_to
- Valeurs :
outermost_parenthesis
: Quand une nouvelle ligne est tapée, elle est mise en retrait par rapport à la parenthèse d'ouverture la plus extérieure.innermost_parenthesis
: Quand une nouvelle ligne est tapée, elle est mise en retrait par rapport à la parenthèse d'ouverture la plus intérieure.statement_begin
: Quand une nouvelle ligne est tapée, elle est mise en retrait par rapport au début de l'instruction actuelle.
Dans les parenthèses, aligner les nouvelles lignes lors de leur saisie
- Nom:
cpp_indent_within_parentheses
- Valeurs :
align_to_parenthesis
: Aligner le contenu sur la parenthèse ouvrante.indent
: Mettre en retrait les nouvelles lignes.
Dans le code existant, ne pas utiliser le paramètre pour l'alignement des nouvelles lignes entre parenthèses
- Nom :
cpp_indent_preserve_within_parentheses
- Valeurs :
true
,false
Mettre en retrait le contenu de case
- Nom :
cpp_indent_case_contents
- Valeurs :
true
,false
Mettre en retrait des étiquettes case
- Nom :
cpp_indent_case_labels
- Valeurs :
true
,false
Mettre en retrait les accolades après une instruction case
- Nom :
cpp_indent_case_contents_when_block
- Valeurs :
true
,false
Mettre en retrait les accolades des expressions lambda utilisées comme paramètres
- Nom :
cpp_indent_lambda_braces_when_parameter
- Valeurs :
true
,false
Position des étiquettes goto
- Nom:
cpp_indent_goto_labels
- Valeurs :
one_left
: Mise en retrait d’un niveau vers la gaucheleftmost_column
: Déplacer vers la colonne la plus à gauchenone
: Conserver le retrait
Position des directives du préprocesseur
- Nom:
cpp_indent_preprocessor
- Valeurs :
one_left
: Mise en retrait d’un niveau vers la gaucheleftmost_column
: Déplacer vers la colonne la plus à gauchenone
: Conserver le retrait
Mettre en retrait les spécificateurs d’accès
- Nom :
cpp_indent_access_specifiers
- Valeurs :
true
,false
Mettre en retrait le contenu d’espace de noms
- Nom :
cpp_indent_namespace_contents
- Valeurs :
true
,false
Conserver le retrait des commentaires
- Nom :
cpp_indent_preserve_comments
- Valeurs :
true
,false
Paramètres de nouvelle ligne
Position des accolades ouvrantes pour les espaces de noms
- Nom:
cpp_new_line_before_open_brace_namespace
- Valeurs :
new_line
: Déplacer vers une nouvelle lignesame_line
: Laisser sur la même ligne, mais ajouter un espace avantignore
: Ne pas repositionner automatiquement
Position des accolades ouvrantes pour les types
- Nom:
cpp_new_line_before_open_brace_type
- Valeurs :
new_line
: Déplacer vers une nouvelle lignesame_line
: Laisser sur la même ligne, mais ajouter un espace avantignore
: Ne pas repositionner automatiquement
Position des accolades ouvrantes pour les fonctions
- Nom:
cpp_new_line_before_open_brace_function
- Valeurs :
new_line
: Déplacer vers une nouvelle lignesame_line
: Laisser sur la même ligne, mais ajouter un espace avantignore
: Ne pas repositionner automatiquement
Position des accolades ouvrantes pour les blocs de contrôle
- Nom:
cpp_new_line_before_open_brace_block
- Valeurs :
new_line
: Déplacer vers une nouvelle lignesame_line
: Laisser sur la même ligne, mais ajouter un espace avantignore
: Ne pas repositionner automatiquement
Position des accolades ouvrantes pour les expressions lambda
- Nom:
cpp_new_line_before_open_brace_lambda
- Valeurs :
new_line
: Déplacer vers une nouvelle lignesame_line
: Laisser sur la même ligne, mais ajouter un espace avantignore
: Ne pas repositionner automatiquement
Placer des accolades d’étendue sur des lignes séparées
- Nom :
cpp_new_line_scope_braces_on_separate_lines
- Valeurs :
true
,false
Pour les types vides, placer les accolades fermantes sur la même ligne que les accolades ouvrantes
- Nom :
cpp_new_line_close_brace_same_line_empty_type
- Valeurs :
true
,false
Pour les corps de fonction vides, placer les accolades fermantes sur la même ligne que les accolades ouvrantes
- Nom :
cpp_new_line_close_brace_same_line_empty_function
- Valeurs :
true
,false
Placer 'catch' et les mots clés similaires sur une nouvelle ligne
- Nom :
cpp_new_line_before_catch
- Valeurs :
true
,false
Placer 'else' sur une nouvelle ligne
- Nom :
cpp_new_line_before_else
- Valeurs :
true
,false
Placer 'while' dans une boucle do-while sur une nouvelle ligne
- Nom :
cpp_new_line_before_while_in_do_while
- Valeurs :
true
,false
Paramètres d’espacement
Espacement entre les noms de fonction et les parenthèses ouvrantes des listes d’arguments
- Nom:
cpp_space_before_function_open_parenthesis
- Valeurs :
insert
: Insérer un espaceremove
: Supprimer les espacesignore
: Ne pas modifier les espaces
Insérer un espace dans les parenthèses d'une liste d’arguments
- Nom
cpp_space_within_parameter_list_parentheses
Valeurs :true
,false
Insérer un espace entre les parenthèses lorsque la liste d’arguments est vide
- Nom :
cpp_space_between_empty_parameter_list_parentheses
- Valeurs :
true
,false
Insérer un espace entre le mot clé et la parenthèse ouvrante dans les instructions de flux de contrôle
- Nom :
cpp_space_after_keywords_in_control_flow_statements
- Valeurs :
true
,false
Insérer un espace dans les parenthèses d’une instruction de contrôle
- Nom :
cpp_space_within_control_flow_statement_parentheses
- Valeurs :
true
,false
Insérer un espace avant la parenthèse ouvrante des listes d’arguments lambda
- Nom :
cpp_space_before_lambda_open_parenthesis
- Valeurs :
true
,false
Insérer un espace dans les parenthèses d’un cast de style C
- Nom :
cpp_space_within_cast_parentheses
- Valeurs :
true
,false
Insérer un espace après la parenthèse fermante du cast de style C
- Nom :
cpp_space_after_cast_close_parenthesis
- Valeurs :
true
,false
Insérer un espace dans les parenthèses d’une expression entre parenthèses
- Nom :
cpp_space_within_expression_parentheses
- Valeurs :
true
,false
Insérer un espace avant l’accolade ouvrante de blocs
- Nom :
cpp_space_before_block_open_brace
- Valeurs :
true
,false
Insérer un espace entre les accolades
- Nom :
cpp_space_between_empty_braces
- Valeurs :
true
,false
Insérer un espace avant l’accolade ouvrante de l’initialisation uniforme et des listes d’initialiseurs
- Nom :
cpp_space_before_initializer_list_open_brace
- Valeurs :
true
,false
Insérer un espace entre les accolades de l’initialisation uniforme et des listes d’initialiseurs
- Nom :
cpp_space_within_initializer_list_braces
- Valeurs :
true
,false
Conserver les espaces dans l’initialisation uniforme et les listes d’initialiseurs
- Nom :
cpp_space_preserve_in_initializer_list
- Valeurs :
true
,false
Insérer un espace avant les crochets ouvrants
- Nom :
cpp_space_before_open_square_bracket
- Valeurs :
true
,false
Insérer un espace dans les crochets
- Nom :
cpp_space_within_square_brackets
- Valeurs :
true
,false
Insérer un espace avant les crochets vides
- Nom :
cpp_space_before_empty_square_brackets
- Valeurs :
true
,false
Insérer un espace entre les crochets vides
- Nom :
cpp_space_between_empty_square_brackets
- Valeurs :
true
,false
Regrouper les crochets pour les tableaux multidimensionnels
- Nom :
cpp_space_group_square_brackets
- Valeurs :
true
,false
Insérer un espace dans les crochets vides pour les expressions lambda
- Nom :
cpp_space_within_lambda_brackets
- Valeurs :
true
,false
EspaceEntreCrochetsVidesPourExpressionsLambda
- Nom :
cpp_space_between_empty_lambda_brackets
- Valeurs :
true
,false
Insérer un espace avant les virgules
- Nom :
cpp_space_before_comma
- Valeurs :
true
,false
Insérer un espace après les virgules
- Nom :
cpp_space_after_comma
- Valeurs :
true
,false
Supprimer les espaces avant et après les opérateurs membres
- Nom :
cpp_space_remove_around_member_operators
- Valeurs :
true
,false
Insérer un espace avant le signe deux-points pour base dans les déclarations de type
- Nom :
cpp_space_before_inheritance_colon
- Valeurs :
true
,false
Insérer un espace avant le signe deux-points pour les constructeurs
- Nom :
cpp_space_before_constructor_colon
- Valeurs :
true
,false
Supprimer l’espace avant les points-virgules
- Nom :
cpp_space_remove_before_semicolon
- Valeurs :
true
,false
Insérer un espace après les points-virgules
- Nom :
cpp_space_after_semicolon
- Valeurs :
true
,false
Supprimer les espaces entre les opérateurs unaires et leurs opérandes
- Nom :
cpp_space_remove_around_unary_operator
- Valeurs :
true
,false
Espacement pour les opérateurs binaires
- Nom:
cpp_space_around_binary_operator
- Valeurs :
insert
: Insérer des espaces avant et après les opérateurs binaires.remove
: Supprimer les espaces autour des opérateurs binaires.ignore
: Ne pas modifier les espaces autour des opérateurs binaires.
Espacement pour les opérateurs d’assignation
- Nom:
cpp_space_around_assignment_operator
- Valeurs :
insert
: Insérer des espaces autour des opérateurs d’assignation.remove
: Supprimer les espaces autour des opérateurs d’assignation.ignore
: Ne pas modifier les espaces autour des opérateurs d’assignation.
Alignement de pointeur/référence
- Nom:
cpp_space_pointer_reference_alignment
- Valeurs :
left
: Aligner à gauche.center
: Aligner au centre.right
: Aligner à droite.ignore
: Laisser inchangé.
Espacement pour les opérateurs conditionnels
- Nom:
cpp_space_around_ternary_operator
- Valeurs :
insert
: Insérer des espaces autour des opérateurs conditionnels.remove
: Supprimer les espaces autour des opérateurs conditionnels.ignore
: Ne pas modifier les espaces autour des opérateurs conditionnels.
Options d’ajustement
Options de retour à la ligne pour les blocs
- Nom:
cpp_wrap_preserve_blocks
- Valeurs :
one_liners
: Ne pas renvoyer à la ligne les blocs de code d’une ligne.all_one_line_scopes
: Ne pas renvoyer à la ligne les blocs de code dans lesquels les accolades ouvrantes et fermantes sont sur la ligne suivante.never
: Toujours appliquer les paramètres Nouvelles lignes pour les blocs.