Conventions de mise en forme EditorConfig C++

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. Les Visual Studio et les Visual Studio Code prennent en charge EditorConfig intégrée pour chacun des paramètres de mise en forme global 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 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.

C++ a des paramètres supplémentaires .editorconfig qui ne sont pas des paramètres de mise en forme. Ces paramètres sont documentés avec les fonctionnalités qu’ils configurent :

Pour plus d’informations sur :

Conventions de mise en forme C++

Les paramètres EditorConfig de mise en forme C++ sont préfixés par 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 cet article répertorie tous les paramètres de mise en forme EditorConfig C++ pris en charge par Visual Studio et VS Code.

Paramètres de retrait

Accolades en retrait

  • Nom : cpp_indent_braces
  • Valeurs : true, false

Mettre en retrait chaque ligne relativement à

  • Nom : cpp_indent_multi_line_relative_to
  • Valeurs:
    • outermost_parenthesis - Lorsqu’une nouvelle ligne est tapée, elle est mise en retrait relativement à la parenthèse ouverte la plus extérieure.
    • innermost_parenthesis - Lorsqu’une nouvelle ligne est tapée, elle est mise en retrait relativement à la parenthèse ouverte la plus intérieure.
    • statement_begin - Lorsqu’une nouvelle ligne est tapée, elle est mise en retrait relativement au début de l’instruction actuelle.

Entre parenthèses, alignez les nouvelles lignes quand je les tapez

  • Nom : cpp_indent_within_parentheses
  • Valeurs:
    • align_to_parenthesis - Aligner le contenu sur l’ouverture de parenthèses.
    • indent - Mettre en retrait les nouvelles lignes.

Dans le code existant, n’utilisez pas le paramètre pour l’alignement des nouvelles lignes entre parenthèses

  • Nom : cpp_indent_preserve_within_parentheses
  • Valeurs : true, false

Retrait du contenu de la casse

  • Nom : cpp_indent_case_contents
  • Valeurs : true, false

Mettre en retrait les étiquettes de casse

  • Nom : cpp_indent_case_labels
  • Valeurs : true, false

Accolades de retrait à la suite d’une instruction case

  • Nom : cpp_indent_case_contents_when_block
  • Valeurs : true, false

Accolades de retrait des lambdas utilisées en tant que paramètres

  • Nom : cpp_indent_lambda_braces_when_parameter
  • Valeurs : true, false

Position des étiquettes goto

  • Nom : cpp_indent_goto_labels
  • Valeurs:
    • one_left - Un retrait à gauche
    • leftmost_column - Passer à la colonne la plus à gauche
    • none - Laisser mis en retrait

Position des directives de préprocesseur

  • Nom : cpp_indent_preprocessor
  • Valeurs:
    • one_left - Un retrait à gauche
    • leftmost_column - Passer à la colonne la plus à gauche
    • none - Laisser mis en retrait

Spécificateurs d’accès en retrait

  • Nom : cpp_indent_access_specifiers
  • Valeurs : true, false

Mettre en retrait le contenu de l’espace de noms

  • Nom : cpp_indent_namespace_contents
  • Valeurs : true, false

Conserver la mise en retrait des commentaires

  • Nom : cpp_indent_preserve_comments
  • Valeurs : true, false

Paramètres de ligne de nouvelle ligne

Position des accolades ouvertes pour les espaces de noms

  • Nom : cpp_new_line_before_open_brace_namespace
  • Valeurs:
    • new_line - Passer à une nouvelle ligne
    • same_line - Continuez sur la même ligne, mais ajoutez un espace avant
    • ignore - Ne pas repositionner automatiquement

Position des accolades ouvertes pour les types

  • Nom : cpp_new_line_before_open_brace_type
  • Valeurs:
    • new_line - Passer à une nouvelle ligne
    • same_line - Continuez sur la même ligne, mais ajoutez un espace avant
    • ignore - Ne pas repositionner automatiquement

Position des accolades ouvertes pour les fonctions

  • Nom : cpp_new_line_before_open_brace_function
  • Valeurs:
    • new_line - Passer à une nouvelle ligne
    • same_line - Continuez sur la même ligne, mais ajoutez un espace avant
    • ignore - Ne pas repositionner automatiquement

Position des accolades ouvertes pour les blocs de contrôle

  • Nom : cpp_new_line_before_open_brace_block
  • Valeurs:
    • new_line - Passer à une nouvelle ligne
    • same_line - Continuez sur la même ligne, mais ajoutez un espace avant
    • ignore - Ne pas repositionner automatiquement

Position des accolades ouvertes pour les lambdas

  • Nom : cpp_new_line_before_open_brace_lambda
  • Valeurs:
    • new_line - Passer à une nouvelle ligne
    • same_line - Continuez sur la même ligne, mais ajoutez un espace avant
    • ignore - Ne pas repositionner automatiquement

Placer des accolades d’étendue sur des lignes distinctes

  • Nom : cpp_new_line_scope_braces_on_separate_lines
  • Valeurs : true, false

Pour les types vides, déplacez les accolades fermante vers 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, déplacez les accolades fermante vers la même ligne que les accolades ouvrantes

  • Nom : cpp_new_line_close_brace_same_line_empty_function
  • Valeurs : true, false

Placer « catch » et des 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 fonctions et les parenthèses ouvrantes des listes d’arguments

  • Nom : cpp_space_before_function_open_parenthesis
  • Valeurs:
    • insert - Insérer un espace
    • remove - Supprimer des espaces
    • ignore - Ne modifiez pas les espaces

Insérer de l’espace entre parenthèses d’une liste d’arguments

  • Valeurs de nom cpp_space_within_parameter_list_parentheses : true, false

Insérer un espace entre parenthèses lorsque la liste d’arguments est vide

  • Nom : cpp_space_between_empty_parameter_list_parentheses
  • Valeurs : true, false

Insérer de l’espace entre le mot clé et l’ouverture de parenthèses dans les instructions de flux de contrôle

  • Nom : cpp_space_after_keywords_in_control_flow_statements
  • Valeurs : true, false

Insérer de l’espace entre parenthèses d’une instruction de contrôle

  • Nom : cpp_space_within_control_flow_statement_parentheses
  • Valeurs : true, false

Insérer de l’espace avant d’ouvrir la parenthèse des listes d’arguments lambda

  • Nom : cpp_space_before_lambda_open_parenthesis
  • Valeurs : true, false

Insérer de l’espace entre parenthèses d’un cast de style C

  • Nom : cpp_space_within_cast_parentheses
  • Valeurs : true, false

Insérer de l’espace après la parenthèse fermante d’un cast de style C

  • Nom : cpp_space_after_cast_close_parenthesis
  • Valeurs : true, false

Insérer de l’espace entre parenthèses d’une expression entre parenthèses

  • Nom : cpp_space_within_expression_parentheses
  • Valeurs : true, false

Insérer de l’espace avant d’ouvrir des accolades de blocs

  • Nom : cpp_space_before_block_open_brace
  • Valeurs : true, false

Insérer un espace entre accolades vides

  • Nom : cpp_space_between_empty_braces
  • Valeurs : true, false

Insérer de l’espace avant d’ouvrir l’accolade des listes d’initialisation et d’initialiseurs uniformes

  • Nom : cpp_space_before_initializer_list_open_brace
  • Valeurs : true, false

Insérer de l’espace dans des accolades d’initialisation uniforme et de listes d’initialiseurs

  • Nom : cpp_space_within_initializer_list_braces
  • Valeurs : true, false

Conserver des espaces à l’intérieur d’une initialisation uniforme et de listes d’initialiseurs

  • Nom : cpp_space_preserve_in_initializer_list
  • Valeurs : true, false

Insérer de l’espace avant d’ouvrir des crochets

  • Nom : cpp_space_before_open_square_bracket
  • Valeurs : true, false

Insérer un espace entre crochets

  • Nom : cpp_space_within_square_brackets
  • Valeurs : true, false

Insérer de l’espace avant les crochets vides

  • Nom : cpp_space_before_empty_square_brackets
  • Valeurs : true, false

Insérer un espace entre crochets vides

  • Nom : cpp_space_between_empty_square_brackets
  • Valeurs : true, false

Regrouper les crochets pour les tableaux multidimensionnels ensemble

  • Nom : cpp_space_group_square_brackets
  • Valeurs : true, false

Insérer de l’espace entre crochets pour les lambdas

  • Nom : cpp_space_within_lambda_brackets
  • Valeurs : true, false

SpaceBetweenEmptyLambdaBrackets

  • Nom : cpp_space_between_empty_lambda_brackets
  • Valeurs : true, false

Insérer de l’espace avant les virgules

  • Nom : cpp_space_before_comma
  • Valeurs : true, false

Insérer de l’espace après des virgules

  • Nom : cpp_space_after_comma
  • Valeurs : true, false

Supprimer des espaces avant et après les opérateurs membres

  • Nom : cpp_space_remove_around_member_operators
  • Valeurs : true, false

Insérer de l’espace avant deux-points pour la base dans les déclarations de type

  • Nom : cpp_space_before_inheritance_colon
  • Valeurs : true, false

Insérer de l’espace avant deux-points pour les constructeurs

  • Nom : cpp_space_before_constructor_colon
  • Valeurs : true, false

Supprimer de l’espace avant les points-virgules

  • Nom : cpp_space_remove_before_semicolon
  • Valeurs : true, false

Insérer un espace après des points-virgules

  • Nom : cpp_space_after_semicolon
  • Valeurs : true, false

Supprimer des 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 des opérateurs binaires.
    • remove - Supprimez les espaces autour des opérateurs binaires.
    • ignore - Ne modifiez pas les espaces autour des opérateurs binaires.

Espacement pour les opérateurs d’affectation

  • Nom : cpp_space_around_assignment_operator
  • Valeurs:
    • insert - Insérer des espaces autour des opérateurs d’affectation.
    • remove - Supprimer des espaces autour des opérateurs d’affectation.
    • ignore - Ne modifiez pas les espaces autour des opérateurs d’affectation.

Alignement pointeur/référence

  • Nom : cpp_space_pointer_reference_alignment
  • Valeurs:
    • left - Aligner à gauche.
    • center - Aligner le centre.
    • right - Aligner à droite.
    • ignore - Laissez 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 - Supprimez les espaces autour des opérateurs conditionnels.
    • ignore - Ne modifiez pas les espaces autour des opérateurs conditionnels.

Options d’habillage

Options d’habillage pour les blocs

  • Nom : cpp_wrap_preserve_blocks
  • Valeurs:
    • one_liners - Ne pas encapsuler les blocs de code d’une seule ligne.
    • all_one_line_scopes - Ne pas encapsuler les blocs de code où les accolades ouvrantes et fermante se trouvent sur la ligne suivante.
    • never - Appliquez toujours les paramètres De nouvelles lignes pour les blocs.

Voir aussi