C++ EditorConfig の書式規則
EditorConfig ファイルをプロジェクトに追加して、プロジェクトに貢献するすべてのユーザーに一貫したコード スタイルを適用するように C++ の書式設定を構成できます。 Visual Studio と Visual Studio Code の両方に、 EditorConfig グローバルな Visual Studio C++ 書式設定設定ごとにサポートが組み込まれています。 EditorConfig 設定は、 .editorconfig
ファイルに格納されます。 プロジェクトにそのファイルが存在する場合は、Visual Studio の書式設定よりも優先されます。
このドキュメントでは、Visual Studio と Visual Studio Code でサポートされているすべての EditorConfig C++ 書式設定の一覧を示します。
詳細情報は、次のとおりです。
- Visual Studio で EditorConfig ファイルを使用する方法については、「 EditorConfig を使用した一貫性のあるコーディング スタイルの定義を参照してください。
- clang の書式設定に基づいて EditorConfig ファイルを手動で作成する方法については、「 clangformatを参照してください。 そのファイル
.editorconfig
の名前を変更し、プロジェクトに保存します。
C++ 書式設定の規則
C++ 書式設定の EditorConfig 設定には、プレフィックスとして cpp_
が付きます。 .editorconfig
ファイルの例を次に示します。
[*.{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
このドキュメントの残りの部分では、Visual Studio と VS Code でサポートされているすべての EditorConfig C++ 書式設定を一覧に示します。
インデントの設定
中かっこのインデント
- 名前:
cpp_indent_braces
- 値:
true
、false
以下を基準に各行をインデントする
- 名前:
cpp_indent_multi_line_relative_to
- 値:
outermost_parenthesis
- 新しい行を入力すると、外側の始めかっこを基準にインデントされます。innermost_parenthesis
- 新しい行を入力すると、内側の始めかっこを基準にインデントされます。statement_begin
- 新しい行を入力すると、現在のステートメントの先頭を基準にインデントされます。
かっこ内で、入力した新しい行を揃える
- 名前:
cpp_indent_within_parentheses
- 値:
align_to_parenthesis
- 始めかっこに内容を揃える。indent
- 新しい行をインデント。
既存のコードで、かっこ内で改行を揃える設定を使用しない
- 名前:
cpp_indent_preserve_within_parentheses
- 値:
true
、false
case の内容をインデントする
- 名前:
cpp_indent_case_contents
- 値:
true
、false
case ラベルをインデントする
- 名前:
cpp_indent_case_labels
- 値:
true
、false
case ステートメントの後に中かっこをインデントする
- 名前:
cpp_indent_case_contents_when_block
- 値:
true
、false
パラメーターとして使うラムダの中かっこをインデントする
- 名前:
cpp_indent_lambda_braces_when_parameter
- 値:
true
、false
goto ラベルの位置
- 名前:
cpp_indent_goto_labels
- 値:
one_left
- 左に 1 インデントleftmost_column
- 左端の列に移動するnone
- インデントされたままにする
プリプロセッサ ディレクティブの位置
- 名前:
cpp_indent_preprocessor
- 値:
one_left
- 左に 1 インデントleftmost_column
- 左端の列に移動するnone
- インデントされたままにする
アクセス指定子のインデント
- 名前:
cpp_indent_access_specifiers
- 値:
true
、false
名前空間の内容をインデントする
- 名前:
cpp_indent_namespace_contents
- 値:
true
、false
コメントのインデントを維持する
- 名前:
cpp_indent_preserve_comments
- 値:
true
、false
改行の設定
名前空間の始めかっこの位置
- 名前:
cpp_new_line_before_open_brace_namespace
- 値:
new_line
- 新しい行へ移動same_line
- 同じ行に残し、その前にスペースを 1 つ追加ignore
- 自動再配置しない
型の始めかっこの位置
- 名前:
cpp_new_line_before_open_brace_type
- 値:
new_line
- 新しい行へ移動same_line
- 同じ行に残し、その前にスペースを 1 つ追加ignore
- 自動再配置しない
関数の始めかっこの位置
- 名前:
cpp_new_line_before_open_brace_function
- 値:
new_line
- 新しい行へ移動same_line
- 同じ行に残し、その前にスペースを 1 つ追加ignore
- 自動再配置しない
コントロール ブロックの始めかっこの位置
- 名前:
cpp_new_line_before_open_brace_block
- 値:
new_line
- 新しい行へ移動same_line
- 同じ行に残し、その前にスペースを 1 つ追加ignore
- 自動再配置しない
ラムダの始めかっこの位置
- 名前:
cpp_new_line_before_open_brace_lambda
- 値:
new_line
- 新しい行へ移動same_line
- 同じ行に残し、その前にスペースを 1 つ追加ignore
- 自動再配置しない
スコープの中かっこを別の行に配置する
- 名前:
cpp_new_line_scope_braces_on_separate_lines
- 値:
true
、false
型が空の場合は、終わりかっこを始めかっこと同じ行に移動する
- 名前:
cpp_new_line_close_brace_same_line_empty_type
- 値:
true
、false
関数の本体が空の場合は、終わりかっこを始めかっこと同じ行に移動する
- 名前:
cpp_new_line_close_brace_same_line_empty_function
- 値:
true
、false
新しい行に 'catch' および類似キーワードを配置する
- 名前:
cpp_new_line_before_catch
- 値:
true
、false
新しい行に 'else' を配置する
- 名前:
cpp_new_line_before_else
- 値:
true
、false
do-while ループの 'while' を新しい行に配置する
- 名前:
cpp_new_line_before_while_in_do_while
- 値:
true
、false
スペースの設定
関数名と引数リストの左かっこの間のスペース
- 名前:
cpp_space_before_function_open_parenthesis
- 値:
insert
- スペースを挿入するremove
- スペースを削除するignore
- スペースを変更しない
引数リストのかっこ内にスペースを挿入する
- 名前
cpp_space_within_parameter_list_parentheses
値:true
、false
引数リストが空の場合に、かっこ間にスペースを挿入する
- 名前:
cpp_space_between_empty_parameter_list_parentheses
- 値:
true
、false
制御フロー ステートメント内のキーワードと始めかっこの間にスペースを挿入する
- 名前:
cpp_space_after_keywords_in_control_flow_statements
- 値:
true
、false
コントロール ステートメントのかっこ内にスペースを挿入する
- 名前:
cpp_space_within_control_flow_statement_parentheses
- 値:
true
、false
ラムダ引数リストの始めかっこの前にスペースを挿入する
- 名前:
cpp_space_before_lambda_open_parenthesis
- 値:
true
、false
C スタイル キャストのかっこ内にスペースを挿入する
- 名前:
cpp_space_within_cast_parentheses
- 値:
true
、false
C スタイル キャストの終わりかっこの後にスペースを挿入する
- 名前:
cpp_space_after_cast_close_parenthesis
- 値:
true
、false
かっこで囲まれた式のかっこ内にスペースを挿入する
- 名前:
cpp_space_within_expression_parentheses
- 値:
true
、false
ブロックの左中かっこの前にスペースを挿入する
- 名前:
cpp_space_before_block_open_brace
- 値:
true
、false
空のかっこの間にスペースを挿入する
- 名前:
cpp_space_between_empty_braces
- 値:
true
、false
均一初期化および初期化子リストの始めかっこの前にスペースを挿入する
- 名前:
cpp_space_before_initializer_list_open_brace
- 値:
true
、false
均一初期化および初期化子リストのかっこ内にスペースを挿入する
- 名前:
cpp_space_within_initializer_list_braces
- 値:
true
、false
均一初期化および初期化子リストの中にスペースを保持する
- 名前:
cpp_space_preserve_in_initializer_list
- 値:
true
、false
始め角かっこの前にスペースを挿入する
- 名前:
cpp_space_before_open_square_bracket
- 値:
true
、false
角かっこ内にスペースを挿入する
- 名前:
cpp_space_within_square_brackets
- 値:
true
、false
空の角かっこの前にスペースを挿入する
- 名前:
cpp_space_before_empty_square_brackets
- 値:
true
、false
空の角かっこの間にスペースを挿入する
- 名前:
cpp_space_between_empty_square_brackets
- 値:
true
、false
多次元配列の角かっこをグループ化する
- 名前:
cpp_space_group_square_brackets
- 値:
true
、false
ラムダの角かっこ内にスペースを挿入する
- 名前:
cpp_space_within_lambda_brackets
- 値:
true
、false
SpaceBetweenEmptyLambdaBrackets
- 名前:
cpp_space_between_empty_lambda_brackets
- 値:
true
、false
コンマの前にスペースを挿入する
- 名前:
cpp_space_before_comma
- 値:
true
、false
コンマの後にスペースを追加する
- 名前:
cpp_space_after_comma
- 値:
true
、false
メンバー演算子の前後のスペースを削除する
- 名前:
cpp_space_remove_around_member_operators
- 値:
true
、false
型宣言で、基本のコロンの前にスペースを挿入する
- 名前:
cpp_space_before_inheritance_colon
- 値:
true
、false
コンストラクターのコロンの前にスペースを追加する
- 名前:
cpp_space_before_constructor_colon
- 値:
true
、false
セミコロンの前のスペースを削除する
- 名前:
cpp_space_remove_before_semicolon
- 値:
true
、false
セミコロンの後にスペースを挿入する
- 名前:
cpp_space_after_semicolon
- 値:
true
、false
単項演算子とそのオペランドの間のスペースを削除する
- 名前:
cpp_space_remove_around_unary_operator
- 値:
true
、false
バイナリ演算子の前後のスペース
- 名前:
cpp_space_around_binary_operator
- 値:
insert
- バイナリ演算子の前後にスペースを挿入する。remove
- バイナリ演算子の前後のスペースを削除する。ignore
- バイナリ演算子の前後のスペースを変更しない。
代入演算子の前後のスペース
- 名前:
cpp_space_around_assignment_operator
- 値:
insert
- 代入演算子の前後にスペースを挿入する。remove
- 代入演算子の前後のスペースを削除する。ignore
- 代入演算子の前後のスペースを変更しない。
ポインター/参照の配置
- 名前:
cpp_space_pointer_reference_alignment
- 値:
left
- 左揃え。center
- 中央揃え。right
- 右揃え。ignore
- 変更しません。
条件演算子の前後のスペース
- 名前:
cpp_space_around_ternary_operator
- 値:
insert
- 条件演算子の前後にスペースを挿入する。remove
- 条件演算子の前後のスペースを削除する。ignore
- 条件演算子の前後のスペースを変更しない。
折り返しオプション
ブロックの折り返しオプション
- 名前:
cpp_wrap_preserve_blocks
- 値:
one_liners
- 1 行のコード ブロックを折り返さない。all_one_line_scopes
- 始めかっこと終わりかっこが次の行にある場合、コード ブロックを折り返さない。never
- 常にブロックに改行設定を適用する。