Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan lägga till EditorConfig-filer i projektet för att konfigurera C++-formatering för att framtvinga ett konsekvent kodformat för alla som bidrar till projektet. Både Visual Studio och Visual Studio Code har inbyggt EditorConfig-stöd för var och en av de globala Visual Studio C++-formateringsinställningarna. Inställningarna för EditorConfig lagras i en .editorconfig fil. När filen finns i projektet har den företräde framför inställningarna för Visual Studio formatering.
I det här dokumentet visas alla formateringsinställningar för EditorConfig C++ som stöds av Visual Studio och Visual Studio Code.
C++ har ytterligare .editorconfig inställningar som inte är formateringsinställningar. Dessa inställningar dokumenteras med de funktioner som de konfigurerar:
-
Ta med rensningsinställningar (
cpp_include_cleanup_*ochcpp_sort_includes_*) dokumenteras i Konfigurera C/C++ Inkludera rensning i Visual Studio. -
IntelliSense-inställningar för
#includeslutförande (cpp_includes_use_forward_slashochcpp_includes_style) dokumenteras i alternativen Konfigurera språk > C/C++ > IntelliSense.
Mer information om:
- En EditorConfig-fil i Visual Studio finns i Definiera konsekventa kodningsformat med EditorConfig.
- Skapa en EditorConfig-fil manuellt baserat på inställningarna för clang-formatering i clangformat. Byt namn på filen
.editorconfigoch spara den i projektet.
C++-formateringskonventioner
C++-formateringsinställningarna för EditorConfig är prefixet med cpp_. Här är ett exempel på hur en .editorconfig fil kan se ut:
[*.{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
I resten av den här artikeln visas alla formateringsinställningar för EditorConfig C++ som stöds av Visual Studio och VS Code.
Indragsinställningar
Dra in klammerparenteser
- Namn:
cpp_indent_braces - Värden:
true,false
Dra in varje rad relativt till
- Namn:
cpp_indent_multi_line_relative_to - Värden:
-
outermost_parenthesis– När en ny rad skrivs är den relativt indragen till den yttersta öppna parentesen. -
innermost_parenthesis– När en ny rad skrivs är den relativt indragen i den innersta öppna parentesen. -
statement_begin– När en ny rad skrivs är den relativt indragen i början av den aktuella instruktionen.
-
Inom parenteser justerar du nya rader när jag skriver dem
- Namn:
cpp_indent_within_parentheses - Värden:
-
align_to_parenthesis– Justera innehållet efter inledande parentes. -
indent– Dra in nya rader.
-
Använd inte inställningen för justering av nya rader inom parenteser i befintlig kod
- Namn:
cpp_indent_preserve_within_parentheses - Värden:
true,false
Indrag av skiftlägesinnehåll
- Namn:
cpp_indent_case_contents - Värden:
true,false
Indrag av skiftlägesetiketter
- Namn:
cpp_indent_case_labels - Värden:
true,false
Indrag av klammerparenteser efter en ärendebeskrivning
- Namn:
cpp_indent_case_contents_when_block - Värden:
true,false
Dra in klammerparenteser för lambdas som används som parametrar
- Namn:
cpp_indent_lambda_braces_when_parameter - Värden:
true,false
Placering av gotoetiketter
- Namn:
cpp_indent_goto_labels - Värden:
-
one_left- Ett indrag till vänster -
leftmost_column– Flytta till kolumnen längst till vänster -
none- Lämna indraget
-
Position för förprocessordirektiv
- Namn:
cpp_indent_preprocessor - Värden:
-
one_left- Ett indrag till vänster -
leftmost_column– Flytta till kolumnen längst till vänster -
none- Lämna indraget
-
Indrag av åtkomstspecificerare
- Namn:
cpp_indent_access_specifiers - Värden:
true,false
Indrag av namnområdesinnehåll
- Namn:
cpp_indent_namespace_contents - Värden:
true,false
Bevara indrag av kommentarer
- Namn:
cpp_indent_preserve_comments - Värden:
true,false
Inställningar för ny rad
Position för öppna klammerparenteser för namnområden
- Namn:
cpp_new_line_before_open_brace_namespace - Värden:
-
new_line- Flytta till en ny rad -
same_line- Behåll på samma rad, men lägg till ett blanksteg innan -
ignore- Flytta inte automatiskt
-
Placering av öppna klammerparenteser för typer
- Namn:
cpp_new_line_before_open_brace_type - Värden:
-
new_line- Flytta till en ny rad -
same_line- Behåll på samma rad, men lägg till ett blanksteg innan -
ignore- Flytta inte automatiskt
-
Position för öppna klammerparenteser för funktioner
- Namn:
cpp_new_line_before_open_brace_function - Värden:
-
new_line- Flytta till en ny rad -
same_line- Behåll på samma rad, men lägg till ett blanksteg innan -
ignore- Flytta inte automatiskt
-
Position för öppna klammerparenteser för kontrollblock
- Namn:
cpp_new_line_before_open_brace_block - Värden:
-
new_line- Flytta till en ny rad -
same_line- Behåll på samma rad, men lägg till ett blanksteg innan -
ignore- Flytta inte automatiskt
-
Position för öppna klammerparenteser för lambdas
- Namn:
cpp_new_line_before_open_brace_lambda - Värden:
-
new_line- Flytta till en ny rad -
same_line- Behåll på samma rad, men lägg till ett blanksteg innan -
ignore- Flytta inte automatiskt
-
Placera omfångsstöd på separata linjer
- Namn:
cpp_new_line_scope_braces_on_separate_lines - Värden:
true,false
För tomma typer flyttar du avslutande klammerparenteser till samma linje som inledande klammerparenteser
- Namn:
cpp_new_line_close_brace_same_line_empty_type - Värden:
true,false
För tomma funktionskroppar flyttar du avslutande klammerparenteser till samma linje som inledande klammerparenteser
- Namn:
cpp_new_line_close_brace_same_line_empty_function - Värden:
true,false
Placera "catch" och liknande nyckelord på en ny rad
- Namn:
cpp_new_line_before_catch - Värden:
true,false
Placera "else" på en ny rad
- Namn:
cpp_new_line_before_else - Värden:
true,false
Placera "while" i en do-while-loop på en ny rad
- Namn:
cpp_new_line_before_while_in_do_while - Värden:
true,false
Avståndsinställningar
Avstånd mellan funktionsnamn och inledande parenteser för argumentlistor
- Namn:
cpp_space_before_function_open_parenthesis - Värden:
-
insert- Infoga ett blanksteg -
remove– Ta bort blanksteg -
ignore- Ändra inte blanksteg
-
Infoga blanksteg inom parenteser i en argumentlista
- Namnvärden
cpp_space_within_parameter_list_parentheses:true,false
Infoga blanksteg mellan parenteser när argumentlistan är tom
- Namn:
cpp_space_between_empty_parameter_list_parentheses - Värden:
true,false
Infoga blanksteg mellan nyckelord och inledande parentes i kontrollflödessatser
- Namn:
cpp_space_after_keywords_in_control_flow_statements - Värden:
true,false
Infoga blanksteg inom parenteser för en kontrollsats
- Namn:
cpp_space_within_control_flow_statement_parentheses - Värden:
true,false
Infoga blanksteg innan du öppnar parenteser för lambda-argumentlistor
- Namn:
cpp_space_before_lambda_open_parenthesis - Värden:
true,false
Infoga blanksteg inom parenteser i en C-formatmall
- Namn:
cpp_space_within_cast_parentheses - Värden:
true,false
Infoga blanksteg efter avslutande parentes av C-format gjutning
- Namn:
cpp_space_after_cast_close_parenthesis - Värden:
true,false
Infoga blanksteg inom parenteser för ett parentesiserat uttryck
- Namn:
cpp_space_within_expression_parentheses - Värden:
true,false
Infoga utrymme innan klammerparentesen öppnas
- Namn:
cpp_space_before_block_open_brace - Värden:
true,false
Infoga utrymme mellan tomma klammerparenteser
- Namn:
cpp_space_between_empty_braces - Värden:
true,false
Infoga utrymme innan du öppnar klammerparentesen för enhetliga initierings- och initieringslistor
- Namn:
cpp_space_before_initializer_list_open_brace - Värden:
true,false
Infoga utrymme inom klammerparenteser för enhetliga initierings- och initieringslistor
- Namn:
cpp_space_within_initializer_list_braces - Värden:
true,false
Bevara blanksteg i enhetliga initierings- och initieringslistor
- Namn:
cpp_space_preserve_in_initializer_list - Värden:
true,false
Infoga utrymme innan hakparenteser öppnas
- Namn:
cpp_space_before_open_square_bracket - Värden:
true,false
Infoga utrymme inom hakparentes
- Namn:
cpp_space_within_square_brackets - Värden:
true,false
Infoga utrymme före tomma hakparenteser
- Namn:
cpp_space_before_empty_square_brackets - Värden:
true,false
Infoga utrymme mellan tomma hakparenteser
- Namn:
cpp_space_between_empty_square_brackets - Värden:
true,false
Gruppera hakparenteser för flerdimensionella matriser tillsammans
- Namn:
cpp_space_group_square_brackets - Värden:
true,false
Infoga utrymme inom hakparenteser för lambdas
- Namn:
cpp_space_within_lambda_brackets - Värden:
true,false
SpaceBetweenEmptyLambdaBrackets
- Namn:
cpp_space_between_empty_lambda_brackets - Värden:
true,false
Infoga utrymme före kommatecken
- Namn:
cpp_space_before_comma - Värden:
true,false
Infoga utrymme efter kommatecken
- Namn:
cpp_space_after_comma - Värden:
true,false
Ta bort blanksteg före och efter medlemsoperatorer
- Namn:
cpp_space_remove_around_member_operators - Värden:
true,false
Infoga blanksteg före kolon för bas i typdeklarationer
- Namn:
cpp_space_before_inheritance_colon - Värden:
true,false
Infoga utrymme före kolon för konstruktorer
- Namn:
cpp_space_before_constructor_colon - Värden:
true,false
Ta bort utrymme före semikolon
- Namn:
cpp_space_remove_before_semicolon - Värden:
true,false
Infoga utrymme efter semikolon
- Namn:
cpp_space_after_semicolon - Värden:
true,false
Ta bort blanksteg mellan unary-operatorer och deras operander
- Namn:
cpp_space_remove_around_unary_operator - Värden:
true,false
Avstånd för binära operatorer
- Namn:
cpp_space_around_binary_operator - Värden:
-
insert– Infoga blanksteg före och efter binära operatorer. -
remove– Ta bort blanksteg runt binära operatorer. -
ignore- Ändra inte blanksteg runt binära operatorer.
-
Avstånd för tilldelningsoperatorer
- Namn:
cpp_space_around_assignment_operator - Värden:
-
insert– Infoga blanksteg runt tilldelningsoperatorer. -
remove– Ta bort blanksteg runt tilldelningsoperatorer. -
ignore– Ändra inte blanksteg runt tilldelningsoperatorer.
-
Justering av pekare/referens
- Namn:
cpp_space_pointer_reference_alignment - Värden:
-
left- Vänsterjustera. -
center- Justera mitten. -
right- Högerjustera. -
ignore- Lämna oförändrad.
-
Avstånd för villkorsstyrda operatorer
- Namn:
cpp_space_around_ternary_operator - Värden:
-
insert– Infoga blanksteg runt villkorsstyrda operatorer. -
remove– Ta bort blanksteg runt villkorsstyrda operatorer. -
ignore– Ändra inte blanksteg runt villkorsstyrda operatorer.
-
Omslutningsalternativ
Omslutningsalternativ för block
- Namn:
cpp_wrap_preserve_blocks - Värden:
-
one_liners- Radbryt inte kodblock med en rad. -
all_one_line_scopes- Radbryt inte kodblock där inledande och avslutande klammerparenteser finns på nästa rad. -
never– Använd alltid inställningar för nya rader för block.
-