Sdílet prostřednictvím


Konvence formátování C++ EditorConfig

Do projektu můžete přidat soubory EditorConfig, abyste nakonfigurovali formátování C++, aby bylo možné vynutit konzistentní styl kódu pro všechny přispěvatele do projektu. Visual Studio i Visual Studio Code mají integrovanou podporu EditorConfig pro každé globální nastavení formátování visual Studio C++. Nastavení EditorConfig jsou uložena v .editorconfig souboru. Pokud je tento soubor v projektu, má přednost před nastavením formátování sady Visual Studio.

Tento dokument obsahuje seznam všech nastavení formátování EditorConfig C++ podporovaných sadou Visual Studio a editorem Visual Studio Code.

Další informace o:

Konvence formátování jazyka C++

Nastavení editorConfig formátování jazyka C++ má předponu cpp_. Tady je příklad toho, jak .editorconfig může soubor vypadat:

[*.{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

Zbytek tohoto dokumentu obsahuje seznam všech nastavení formátování editorConfig C++, které podporuje Visual Studio a VS Code.

Nastavení odsazení

Odsazení závorek

  • Název: cpp_indent_braces
  • Hodnoty: true, false

Odsazení každého řádku relativně na

  • Název: cpp_indent_multi_line_relative_to
  • Hodnoty:
    • outermost_parenthesis - Když je zadán nový řádek, odsadí se relativně k nejkrajnější otevřené závorce.
    • innermost_parenthesis - Když je zadán nový řádek, odsadí se relativně k nejvnitřnější otevřené závorce.
    • statement_begin – Když je zadán nový řádek, odsadí se relativně na začátek aktuálního příkazu.

V závorkách zarovnejte nové řádky, když je zadám.

  • Název: cpp_indent_within_parentheses
  • Hodnoty:
    • align_to_parenthesis - Zarovnejte obsah na levou závorku.
    • indent - Odsazení nových řádků

V existujícím kódu nepoužívejte nastavení pro zarovnání nových řádků v závorkách.

  • Název: cpp_indent_preserve_within_parentheses
  • Hodnoty: true, false

Odsazení obsahu velkých a malých písmen

  • Název: cpp_indent_case_contents
  • Hodnoty: true, false

Odsazení popisků velkých a malých písmen

  • Název: cpp_indent_case_labels
  • Hodnoty: true, false

Odsazení složených závorek za příkazem case

  • Název: cpp_indent_case_contents_when_block
  • Hodnoty: true, false

Odsazení závorek lambda použitých jako parametry

  • Název: cpp_indent_lambda_braces_when_parameter
  • Hodnoty: true, false

Pozice popisků goto

  • Název: cpp_indent_goto_labels
  • Hodnoty:
    • one_left - Jedno odsazení vlevo
    • leftmost_column - Přechod na sloupec úplně vlevo
    • none - Odsazení ponechte odsazený.

Pozice direktiv preprocesoru

  • Název: cpp_indent_preprocessor
  • Hodnoty:
    • one_left - Jedno odsazení vlevo
    • leftmost_column - Přechod na sloupec úplně vlevo
    • none - Odsazení ponechte odsazený.

Specifikátory přístupu odsazení

  • Název: cpp_indent_access_specifiers
  • Hodnoty: true, false

Odsazení obsahu oboru názvů

  • Název: cpp_indent_namespace_contents
  • Hodnoty: true, false

Zachování odsazení komentářů

  • Název: cpp_indent_preserve_comments
  • Hodnoty: true, false

Nastavení nového textu

Pozice otevřených složených závorek pro obory názvů

  • Název: cpp_new_line_before_open_brace_namespace
  • Hodnoty:
    • new_line – Přechod na nový řádek
    • same_line - Ponechejte stejnou čáru, ale přidejte mezeru před
    • ignore - Nepřemístit automaticky

Pozice otevřených složených závorek pro typy

  • Název: cpp_new_line_before_open_brace_type
  • Hodnoty:
    • new_line – Přechod na nový řádek
    • same_line - Ponechejte stejnou čáru, ale přidejte mezeru před
    • ignore - Nepřemístit automaticky

Pozice otevřených složených závorek pro funkce

  • Název: cpp_new_line_before_open_brace_function
  • Hodnoty:
    • new_line – Přechod na nový řádek
    • same_line - Ponechejte stejnou čáru, ale přidejte mezeru před
    • ignore - Nepřemístit automaticky

Pozice otevřených závorek pro řídicí bloky

  • Název: cpp_new_line_before_open_brace_block
  • Hodnoty:
    • new_line – Přechod na nový řádek
    • same_line - Ponechejte stejnou čáru, ale přidejte mezeru před
    • ignore - Nepřemístit automaticky

Pozice otevřených složených závorek pro lambda

  • Název: cpp_new_line_before_open_brace_lambda
  • Hodnoty:
    • new_line – Přechod na nový řádek
    • same_line - Ponechejte stejnou čáru, ale přidejte mezeru před
    • ignore - Nepřemístit automaticky

Umístění složených závorek oboru na samostatné řádky

  • Název: cpp_new_line_scope_braces_on_separate_lines
  • Hodnoty: true, false

U prázdných typů přesuňte uzavírací složené závorky na stejný řádek jako levá závorka.

  • Název: cpp_new_line_close_brace_same_line_empty_type
  • Hodnoty: true, false

U prázdných těl funkce přesuňte uzavírací složené závorky na stejný řádek jako levá závorka.

  • Název: cpp_new_line_close_brace_same_line_empty_function
  • Hodnoty: true, false

Umístění "catch" a podobných klíčových slov na nový řádek

  • Název: cpp_new_line_before_catch
  • Hodnoty: true, false

Umístění "else" na nový řádek

  • Název: cpp_new_line_before_else
  • Hodnoty: true, false

Umístění "while" do smyčky do-while na nový řádek

  • Název: cpp_new_line_before_while_in_do_while
  • Hodnoty: true, false

Nastavení mezer

Mezery mezi názvy funkcí a otevírání závorek seznamů argumentů

  • Název: cpp_space_before_function_open_parenthesis
  • Hodnoty:
    • insert - Vložení mezery
    • remove - Odebrat mezery
    • ignore - Neměňte mezery

Vložení mezery do závorek seznamu argumentů

  • Hodnoty názvu cpp_space_within_parameter_list_parentheses : true, false

Vložení mezery mezi závorkami, když je seznam argumentů prázdný

  • Název: cpp_space_between_empty_parameter_list_parentheses
  • Hodnoty: true, false

Vložení mezery mezi klíčovým slovem a levou závorkou v příkazech toku řízení

  • Název: cpp_space_after_keywords_in_control_flow_statements
  • Hodnoty: true, false

Vložení mezery do závorek příkazu ovládacího prvku

  • Název: cpp_space_within_control_flow_statement_parentheses
  • Hodnoty: true, false

Vložení mezery před otevřením závorek seznamů argumentů lambda

  • Název: cpp_space_before_lambda_open_parenthesis
  • Hodnoty: true, false

Vložení mezery do závorek přetypování ve stylu jazyka C

  • Název: cpp_space_within_cast_parentheses
  • Hodnoty: true, false

Vložení mezery za pravou závorku přetypování ve stylu jazyka C

  • Název: cpp_space_after_cast_close_parenthesis
  • Hodnoty: true, false

Vložení mezery do závorek výrazu závorek

  • Název: cpp_space_within_expression_parentheses
  • Hodnoty: true, false

Vložení mezery před otevřením složené závorky

  • Název: cpp_space_before_block_open_brace
  • Hodnoty: true, false

Vložení mezery mezi prázdnými složenými závorkami

  • Název: cpp_space_between_empty_braces
  • Hodnoty: true, false

Vložení mezery před otevřením složené závorky v seznamech jednotné inicializace a inicializátoru

  • Název: cpp_space_before_initializer_list_open_brace
  • Hodnoty: true, false

Vložení mezery do složených závorek v seznamech jednotné inicializace a inicializátoru

  • Název: cpp_space_within_initializer_list_braces
  • Hodnoty: true, false

Zachování mezer v seznamech jednotných inicializací a inicializátorů

  • Název: cpp_space_preserve_in_initializer_list
  • Hodnoty: true, false

Vložení mezery před otevřením hranatých závorek

  • Název: cpp_space_before_open_square_bracket
  • Hodnoty: true, false

Vložení mezery do hranaté závorky

  • Název: cpp_space_within_square_brackets
  • Hodnoty: true, false

Vložení mezery před prázdné hranaté závorky

  • Název: cpp_space_before_empty_square_brackets
  • Hodnoty: true, false

Vložení mezery mezi prázdnými hranatými závorkami

  • Název: cpp_space_between_empty_square_brackets
  • Hodnoty: true, false

Seskupování hranatých závorek pro vícerozměrná pole

  • Název: cpp_space_group_square_brackets
  • Hodnoty: true, false

Vložení mezery do hranatých závorek pro lambda

  • Název: cpp_space_within_lambda_brackets
  • Hodnoty: true, false

SpaceBetweenEmptyLambdaBrackets

  • Název: cpp_space_between_empty_lambda_brackets
  • Hodnoty: true, false

Vložení mezery před čárky

  • Název: cpp_space_before_comma
  • Hodnoty: true, false

Vložit mezeru za čárky

  • Název: cpp_space_after_comma
  • Hodnoty: true, false

Odebrání mezer před a po operátorech členů

  • Název: cpp_space_remove_around_member_operators
  • Hodnoty: true, false

Vložení mezery před dvojtečku pro základ v deklarací typu

  • Název: cpp_space_before_inheritance_colon
  • Hodnoty: true, false

Vložení mezery před dvojtečku pro konstruktory

  • Název: cpp_space_before_constructor_colon
  • Hodnoty: true, false

Odebrání mezery před středníky

  • Název: cpp_space_remove_before_semicolon
  • Hodnoty: true, false

Vložit mezeru za středníky

  • Název: cpp_space_after_semicolon
  • Hodnoty: true, false

Odebrání mezer mezi unárními operátory a jejich operandy

  • Název: cpp_space_remove_around_unary_operator
  • Hodnoty: true, false

Mezery pro binární operátory

  • Název: cpp_space_around_binary_operator
  • Hodnoty:
    • insert - Vložte mezery před a za binární operátory.
    • remove - Odeberte mezery kolem binárních operátorů.
    • ignore - Neměňte mezery kolem binárních operátorů.

Mezery pro operátory přiřazení

  • Název: cpp_space_around_assignment_operator
  • Hodnoty:
    • insert - Vložte mezery kolem operátorů přiřazení.
    • remove – Odeberte mezery kolem operátorů přiřazení.
    • ignore - Neměňte mezery kolem operátorů přiřazení.

Zarovnání ukazatele nebo odkazu

  • Název: cpp_space_pointer_reference_alignment
  • Hodnoty:
    • left - Zarovnat doleva.
    • center - Zarovnat na střed.
    • right - Zarovnat doprava.
    • ignore - Nechejte beze změny.

Mezery pro podmíněné operátory

  • Název: cpp_space_around_ternary_operator
  • Hodnoty:
    • insert – Vložte mezery kolem podmíněných operátorů.
    • remove – Odebere mezery kolem podmíněných operátorů.
    • ignore - Neměňte mezery kolem podmíněných operátorů.

Možnosti obtékání

Možnosti obtékání bloků

  • Název: cpp_wrap_preserve_blocks
  • Hodnoty:
    • one_liners - Nezabalujte bloky s jedním řádkem kódu.
    • all_one_line_scopes – Nezalamujte bloky kódu, kde jsou levá a uzavírací složená závorka na dalším řádku.
    • never – Pro bloky vždy použijte nastavení Nové řádky.

Viz také