Notatka
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 Visual Studio, jak i Visual Studio Code mają wbudowaną obsługę editorConfig dla każdego z ustawień formatowania globalnego Visual Studio C++. Ustawienia EditorConfig są przechowywane w .editorconfig pliku. Gdy ten plik jest obecny w projekcie, ma pierwszeństwo przed ustawieniami formatowania Visual Studio.
Ten dokument zawiera listę wszystkich ustawień formatowania EditorConfig C++ obsługiwanych przez Visual Studio i Visual Studio Code.
Język C++ ma dodatkowe .editorconfig ustawienia, które nie są ustawieniami formatowania. Te ustawienia są udokumentowane za pomocą konfigurowanych funkcji:
-
Uwzględnij ustawienia oczyszczania (
cpp_include_cleanup_*icpp_sort_includes_*) są udokumentowane w temacie Konfigurowanie oczyszczania dołączania języka C/C++ w Visual Studio. - Ustawienia funkcji IntelliSense na potrzeby
#includeuzupełniania (cpp_includes_use_forward_slashicpp_includes_style) są udokumentowane w temacie Configure Languages C/C++ IntelliSense options (Konfigurowanie języków > C/C++ > IntelliSense).
Aby uzyskać więcej informacji o:
- Korzystając z pliku EditorConfig w 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
.editorconfigi 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 artykułu wymieniono wszystkie ustawienia formatowania EditorConfig C++ obsługiwane przez Visual Studio i program 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 lewej -
leftmost_column— Przechodzenie do kolumny z lewej strony -
none— Pozostaw wcięcie
-
Położenie dyrektyw preprocesora
- Nazwa:
cpp_indent_preprocessor - Wartości:
-
one_left- Jedno wcięcie z lewej -
leftmost_column— Przechodzenie do kolumny z lewej strony -
none— 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 wiersza -
same_line- Zachowaj na tym samym wierszu, ale dodaj spację przed -
ignore- 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 wiersza -
same_line- Zachowaj na tym samym wierszu, ale dodaj spację przed -
ignore- 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 wiersza -
same_line- Zachowaj na tym samym wierszu, ale dodaj spację przed -
ignore- 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 wiersza -
same_line- Zachowaj na tym samym wierszu, ale dodaj spację przed -
ignore- 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 wiersza -
same_line- Zachowaj na tym samym wierszu, ale dodaj spację przed -
ignore- 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 spacji -
ignore- 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.
-