Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í Visual Studio.
Tento dokument obsahuje seznam všech nastavení formátování EditorConfig C++ podporovaných Visual Studio a Visual Studio Code.
Jazyk C++ má další .editorconfig nastavení, která nastavení formátování nejsou. Tato nastavení jsou zdokumentovaná pomocí funkcí, které konfigurují:
-
Zahrnout nastavení vyčištění (
cpp_include_cleanup_*acpp_sort_includes_*) jsou popsané v části Konfigurace C/C++ Include Cleanup v Visual Studio. - Nastavení IntelliSense pro
#includedokončení (cpp_includes_use_forward_slashacpp_includes_style) jsou zdokumentovaná v možnostech Konfigurace jazyků > C/C++ > IntelliSense.
Další informace o:
- Použití souboru EditorConfig v Visual Studio najdete v tématu Definování konzistentních stylů kódování pomocí EditorConfig.
- Ručně vytvořte soubor EditorConfig na základě nastavení formátování clangu, viz clangformat. Přejmenujte tento soubor
.editorconfiga uložte ho do projektu.
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 článku obsahuje seznam všech nastavení formátování EditorConfig C++ podporovaných 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.
-