Partager via


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 :

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 gauche
    • leftmost_column : Déplacer vers la colonne la plus à gauche
    • none : Conserver le retrait

Position des directives du préprocesseur

  • Nom: cpp_indent_preprocessor
  • Valeurs :
    • one_left : Mise en retrait d’un niveau vers la gauche
    • leftmost_column : Déplacer vers la colonne la plus à gauche
    • none : 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 ligne
    • same_line : Laisser sur la même ligne, mais ajouter un espace avant
    • ignore : 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 ligne
    • same_line : Laisser sur la même ligne, mais ajouter un espace avant
    • ignore : 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 ligne
    • same_line : Laisser sur la même ligne, mais ajouter un espace avant
    • ignore : 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 ligne
    • same_line : Laisser sur la même ligne, mais ajouter un espace avant
    • ignore : 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 ligne
    • same_line : Laisser sur la même ligne, mais ajouter un espace avant
    • ignore : 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 espace
    • remove : Supprimer les espaces
    • ignore : 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.

Voir aussi