Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możesz dodać pliki EditorConfig do projektu, aby skonfigurować formatowanie języka C++, aby wymusić spójny styl kodu dla wszystkich współtworzyjących projekt. Zarówno programy Visual Studio, jak i Visual Studio Code mają wbudowaną obsługę polecenia EditorConfig dla każdego z globalnych ustawień formatowania programu Visual Studio C++. Ustawienia EditorConfig są przechowywane w .editorconfig
pliku. Gdy ten plik jest obecny w projekcie, ma pierwszeństwo przed ustawieniami formatowania programu Visual Studio.
Ten dokument zawiera listę wszystkich ustawień formatowania EditorConfig C++ obsługiwanych przez programy Visual Studio i Visual Studio Code.
Aby uzyskać więcej informacji na temat:
- Używanie pliku EditorConfig w programie Visual Studio, zobacz Definiowanie spójnych stylów kodowania za pomocą polecenia EditorConfig.
- Ręcznie utwórz plik EditorConfig na podstawie ustawień formatowania clang, zobacz clangformat. Zmień nazwę tego pliku
.editorconfig
i zapisz go w projekcie.
Konwencje formatowania języka C++
Ustawienia edytora formatowania języka C++ są poprzedzone prefiksem cpp_
. Oto przykładowy .editorconfig
wygląd pliku:
[*.{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
W pozostałej części tego dokumentu wymieniono wszystkie ustawienia formatowania EditorConfig C++ obsługiwane przez programy Visual Studio i VS Code.
Ustawienia wcięcia
Wcięcie nawiasów klamrowych
- Nazwa:
cpp_indent_braces
- Wartości:
true
,false
Wcięcie każdego wiersza stosunkowo do
- Nazwa:
cpp_indent_multi_line_relative_to
- Wartości:
outermost_parenthesis
- Gdy nowy wiersz jest wpisany, jest wcięcie stosunkowo do najbardziej zewnętrznego nawiasu otwartego.innermost_parenthesis
- Gdy nowy wiersz jest wpisany, jest wcięcie stosunkowo do najbardziej wewnętrznego nawiasu otwartego.statement_begin
- Gdy nowy wiersz jest wpisany, jest wcięcie stosunkowo na początku bieżącej instrukcji.
W nawiasach wyrównaj nowe wiersze, gdy wpiszę je
- Nazwa:
cpp_indent_within_parentheses
- Wartości:
align_to_parenthesis
- Wyrównaj zawartość do nawiasu otwierającego.indent
— Wcięcie nowych wierszy.
W istniejącym kodzie nie używaj ustawienia do wyrównania nowych wierszy w nawiasach
- Nazwa:
cpp_indent_preserve_within_parentheses
- Wartości:
true
,false
Wcięcie zawartości wielkości liter
- Nazwa:
cpp_indent_case_contents
- Wartości:
true
,false
Wcięcie etykiet wielkości liter
- Nazwa:
cpp_indent_case_labels
- Wartości:
true
,false
Wcięcie nawiasów klamrowych po instrukcji case
- Nazwa:
cpp_indent_case_contents_when_block
- Wartości:
true
,false
Wcięcie nawiasów klamrowych lambda używanych jako parametry
- Nazwa:
cpp_indent_lambda_braces_when_parameter
- Wartości:
true
,false
Położenie etykiet goto
- Nazwa:
cpp_indent_goto_labels
- Wartości:
one_left
- Jedno wcięcie z lewejleftmost_column
— Przechodzenie do kolumny z lewej stronynone
— Pozostaw wcięcie
Położenie dyrektyw preprocesora
- Nazwa:
cpp_indent_preprocessor
- Wartości:
one_left
- Jedno wcięcie z lewejleftmost_column
— Przechodzenie do kolumny z lewej stronynone
— Pozostaw wcięcie
Specyfikatory dostępu wcięcia
- Nazwa:
cpp_indent_access_specifiers
- Wartości:
true
,false
Wcięcie zawartości przestrzeni nazw
- Nazwa:
cpp_indent_namespace_contents
- Wartości:
true
,false
Zachowywanie wcięcia komentarzy
- Nazwa:
cpp_indent_preserve_comments
- Wartości:
true
,false
Ustawienia nowego wiersza
Położenie otwartych nawiasów klamrowych dla przestrzeni nazw
- Nazwa:
cpp_new_line_before_open_brace_namespace
- Wartości:
new_line
- Przejście do nowego wierszasame_line
- Zachowaj na tym samym wierszu, ale dodaj spację przedignore
- Nie zmieniaj położenia automatycznie
Położenie otwartych nawiasów klamrowych dla typów
- Nazwa:
cpp_new_line_before_open_brace_type
- Wartości:
new_line
- Przejście do nowego wierszasame_line
- Zachowaj na tym samym wierszu, ale dodaj spację przedignore
- Nie zmieniaj położenia automatycznie
Położenie otwartych nawiasów klamrowych dla funkcji
- Nazwa:
cpp_new_line_before_open_brace_function
- Wartości:
new_line
- Przejście do nowego wierszasame_line
- Zachowaj na tym samym wierszu, ale dodaj spację przedignore
- Nie zmieniaj położenia automatycznie
Położenie otwartych nawiasów klamrowych dla bloków sterujących
- Nazwa:
cpp_new_line_before_open_brace_block
- Wartości:
new_line
- Przejście do nowego wierszasame_line
- Zachowaj na tym samym wierszu, ale dodaj spację przedignore
- Nie zmieniaj położenia automatycznie
Położenie otwartych nawiasów klamrowych dla lambd
- Nazwa:
cpp_new_line_before_open_brace_lambda
- Wartości:
new_line
- Przejście do nowego wierszasame_line
- Zachowaj na tym samym wierszu, ale dodaj spację przedignore
- Nie zmieniaj położenia automatycznie
Umieść nawiasy klamrowe zakresu w oddzielnych wierszach
- Nazwa:
cpp_new_line_scope_braces_on_separate_lines
- Wartości:
true
,false
W przypadku pustych typów przenieś nawiasy klamrowe zamykające do tego samego wiersza co otwierające nawiasy klamrowe
- Nazwa:
cpp_new_line_close_brace_same_line_empty_type
- Wartości:
true
,false
W przypadku pustych treści funkcji przenieś zamykające nawiasy klamrowe do tego samego wiersza co otwierające nawiasy klamrowe
- Nazwa:
cpp_new_line_close_brace_same_line_empty_function
- Wartości:
true
,false
Umieść słowa kluczowe "catch" i podobne w nowym wierszu
- Nazwa:
cpp_new_line_before_catch
- Wartości:
true
,false
Umieść "else" w nowym wierszu
- Nazwa:
cpp_new_line_before_else
- Wartości:
true
,false
Umieść "while" w pętli do-while w nowym wierszu
- Nazwa:
cpp_new_line_before_while_in_do_while
- Wartości:
true
,false
Ustawienia odstępów
Odstępy między nazwami funkcji a otwarciem nawiasów list argumentów
- Nazwa:
cpp_space_before_function_open_parenthesis
- Wartości:
insert
- Wstaw spacjęremove
- Usuwanie spacjiignore
- Nie zmieniaj spacji
Wstaw spację w nawiasach listy argumentów
- Wartości nazw
cpp_space_within_parameter_list_parentheses
:true
,false
Wstaw spację między nawiasami, gdy lista argumentów jest pusta
- Nazwa:
cpp_space_between_empty_parameter_list_parentheses
- Wartości:
true
,false
Wstawianie odstępu między słowem kluczowym a otwarciem nawiasu w instrukcjach przepływu sterowania
- Nazwa:
cpp_space_after_keywords_in_control_flow_statements
- Wartości:
true
,false
Wstaw spację w nawiasach instrukcji kontrolki
- Nazwa:
cpp_space_within_control_flow_statement_parentheses
- Wartości:
true
,false
Wstaw spację przed otwarciem nawiasu list argumentów lambda
- Nazwa:
cpp_space_before_lambda_open_parenthesis
- Wartości:
true
,false
Wstaw spację w nawiasach rzutowania w stylu C
- Nazwa:
cpp_space_within_cast_parentheses
- Wartości:
true
,false
Wstaw spację po zamknięciu nawiasu rzutowania w stylu C
- Nazwa:
cpp_space_after_cast_close_parenthesis
- Wartości:
true
,false
Wstaw spację w nawiasach wyrażenia nawiasu
- Nazwa:
cpp_space_within_expression_parentheses
- Wartości:
true
,false
Wstaw spację przed otwarciem nawiasu klamrowego bloków
- Nazwa:
cpp_space_before_block_open_brace
- Wartości:
true
,false
Wstaw spację między pustymi nawiasami klamrowymi
- Nazwa:
cpp_space_between_empty_braces
- Wartości:
true
,false
Wstaw spację przed otwarciem nawiasu klamrowego list inicjowania i inicjatora
- Nazwa:
cpp_space_before_initializer_list_open_brace
- Wartości:
true
,false
Wstaw spację w nawiasach klamrowych list inicjowania i inicjatora
- Nazwa:
cpp_space_within_initializer_list_braces
- Wartości:
true
,false
Zachowywanie spacji wewnątrz jednolitych list inicjowania i inicjatora
- Nazwa:
cpp_space_preserve_in_initializer_list
- Wartości:
true
,false
Wstaw spację przed otwarciem nawiasów kwadratowych
- Nazwa:
cpp_space_before_open_square_bracket
- Wartości:
true
,false
Wstaw spację w nawiasie kwadratowym
- Nazwa:
cpp_space_within_square_brackets
- Wartości:
true
,false
Wstaw spację przed pustymi nawiasami kwadratowymi
- Nazwa:
cpp_space_before_empty_square_brackets
- Wartości:
true
,false
Wstaw spację między pustymi nawiasami kwadratowymi
- Nazwa:
cpp_space_between_empty_square_brackets
- Wartości:
true
,false
Grupuj nawiasy kwadratowe dla tablic wielowymiarowych razem
- Nazwa:
cpp_space_group_square_brackets
- Wartości:
true
,false
Wstaw spację w nawiasach kwadratowych dla lambd
- Nazwa:
cpp_space_within_lambda_brackets
- Wartości:
true
,false
SpaceBetweenEmptyLambdaBrackets
- Nazwa:
cpp_space_between_empty_lambda_brackets
- Wartości:
true
,false
Wstaw spację przed przecinkami
- Nazwa:
cpp_space_before_comma
- Wartości:
true
,false
Wstaw spację po przecinkach
- Nazwa:
cpp_space_after_comma
- Wartości:
true
,false
Usuwanie spacji przed operatorami składowymi i po niej
- Nazwa:
cpp_space_remove_around_member_operators
- Wartości:
true
,false
Wstaw spację przed dwukropkiem dla bazy w deklaracjach typów
- Nazwa:
cpp_space_before_inheritance_colon
- Wartości:
true
,false
Wstaw spację przed dwukropkiem dla konstruktorów
- Nazwa:
cpp_space_before_constructor_colon
- Wartości:
true
,false
Usuń spację przed średnikami
- Nazwa:
cpp_space_remove_before_semicolon
- Wartości:
true
,false
Wstaw spację po średnikami
- Nazwa:
cpp_space_after_semicolon
- Wartości:
true
,false
Usuwanie spacji między operatorami jednoargumentowymi i ich operandami
- Nazwa:
cpp_space_remove_around_unary_operator
- Wartości:
true
,false
Odstępy dla operatorów binarnych
- Nazwa:
cpp_space_around_binary_operator
- Wartości:
insert
- Wstaw spacje przed i po operatorach binarnych.remove
- Usuń spacje wokół operatorów binarnych.ignore
— Nie zmieniaj spacji wokół operatorów binarnych.
Odstępy dla operatorów przypisania
- Nazwa:
cpp_space_around_assignment_operator
- Wartości:
insert
- Wstaw spacje wokół operatorów przypisania.remove
- Usuń spacje wokół operatorów przypisania.ignore
— Nie zmieniaj spacji wokół operatorów przypisania.
Wyrównanie wskaźnika/odwołania
- Nazwa:
cpp_space_pointer_reference_alignment
- Wartości:
left
- Wyrównaj do lewej.center
- Wyrównaj do środka.right
- Wyrównaj do prawej.ignore
- Pozostaw niezmienione.
Odstępy dla operatorów warunkowych
- Nazwa:
cpp_space_around_ternary_operator
- Wartości:
insert
- Wstaw spacje wokół operatorów warunkowych.remove
- Usuń spacje wokół operatorów warunkowych.ignore
— Nie zmieniaj spacji wokół operatorów warunkowych.
Opcje zawijania
Opcje zawijania bloków
- Nazwa:
cpp_wrap_preserve_blocks
- Wartości:
one_liners
— Nie zawijaj bloków kodu jednowierszowego.all_one_line_scopes
— Nie zawijaj bloków kodu, w których nawiasy klamrowe otwierające i zamykające znajdują się w następnym wierszu.never
— Zawsze stosuj ustawienia Nowe linie dla bloków.