C++ の EditorConfig プロパティ: 波括弧レイアウト
波括弧レイアウト
名前空間宣言
プロパティ名:
[resharper_]cpp_namespace_declaration_braces、 [resharper_]cpp_brace_style、 [resharper_]namespace_declaration_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
namespace ns {
void a();
}
|
end_of_line_no_space |
|---|
namespace ns{
void a();
}
|
next_line |
|---|
namespace ns
{
void a();
}
|
next_line_shifted |
|---|
namespace ns
{
void a();
}
|
next_line_shifted_2 |
|---|
namespace ns
{
void a();
}
|
リンケージ仕様書書き方ルールについて
プロパティ名:
[resharper_]cpp_linkage_specification_braces、 [resharper_]cpp_brace_style、 [resharper_]linkage_specification_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
extern "C++" {
void a();
}
|
end_of_line_no_space |
|---|
extern "C++"{
void a();
}
|
next_line |
|---|
extern "C++"
{
void a();
}
|
next_line_shifted |
|---|
extern "C++"
{
void a();
}
|
next_line_shifted_2 |
|---|
extern "C++"
{
void a();
}
|
エクスポート宣言
プロパティ名:
[resharper_]cpp_export_declaration_braces、 [resharper_]cpp_brace_style、 [resharper_]export_declaration_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
export {
void a();
}
|
end_of_line_no_space |
|---|
export{
void a();
}
|
next_line |
|---|
export
{
void a();
}
|
next_line_shifted |
|---|
export
{
void a();
}
|
next_line_shifted_2 |
|---|
export
{
void a();
}
|
型宣言
プロパティ名:
[resharper_]cpp_type_declaration_braces、 [resharper_]cpp_brace_style、 [resharper_]type_declaration_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
class C {
public:
void a();
};
|
end_of_line_no_space |
|---|
class C{
public:
void a();
};
|
next_line |
|---|
class C
{
public:
void a();
};
|
next_line_shifted |
|---|
class C
{
public:
void a();
};
|
next_line_shifted_2 |
|---|
class C
{
public:
void a();
};
|
名前空間定義を同じ行に配置する
プロパティ名:
[resharper_]cpp_place_namespace_definitions_on_same_line, [resharper_]place_namespace_definitions_on_same_line
使用可能な値:
true | false
例:
true |
|---|
namespace A { namespace B
{
void a();
}}
|
false |
|---|
namespace A
{
namespace B
{
void a();
}
}
|
関数宣言
プロパティ名:
[resharper_]cpp_invocable_declaration_braces、 [resharper_]cpp_brace_style、 [resharper_]invocable_declaration_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
void a() {
b();
}
|
end_of_line_no_space |
|---|
void a(){
b();
}
|
next_line |
|---|
void a()
{
b();
}
|
next_line_shifted |
|---|
void a()
{
b();
}
|
next_line_shifted_2 |
|---|
void a()
{
b();
}
|
ラムダ式
プロパティ名:
[resharper_]cpp_anonymous_method_declaration_braces、 [resharper_]cpp_brace_style、 [resharper_]anonymous_method_declaration_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
auto a = []() {
int x = 0;
return x;
};
|
end_of_line_no_space |
|---|
auto a = [](){
int x = 0;
return x;
};
|
next_line |
|---|
auto a = []()
{
int x = 0;
return x;
};
|
next_line_shifted |
|---|
auto a = []()
{
int x = 0;
return x;
};
|
next_line_shifted_2 |
|---|
auto a = []()
{
int x = 0;
return x;
};
|
'case' ラベル下のブロック
プロパティ名:
[resharper_]cpp_case_block_braces、 [resharper_]cpp_brace_style、 [resharper_]case_block_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
switch (expression)
{
case 0: {
foo();
break;
}
}
|
end_of_line_no_space |
|---|
switch (expression)
{
case 0: {
foo();
break;
}
}
|
next_line |
|---|
switch (expression)
{
case 0:
{
foo();
break;
}
}
|
next_line_shifted |
|---|
switch (expression)
{
case 0:
{
foo();
break;
}
}
|
next_line_shifted_2 |
|---|
switch (expression)
{
case 0:
{
foo();
break;
}
}
|
requires 式が必要です。
プロパティ名:
[resharper_]cpp_requires_expression_braces, [resharper_]requires_expression_braces
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
template <typename T> concept C = requires {
typename T::inner1; typename T::inner2;
};
|
end_of_line_no_space |
|---|
template <typename T> concept C = requires{
typename T::inner1; typename T::inner2;
};
|
next_line |
|---|
template <typename T> concept C = requires
{
typename T::inner1; typename T::inner2;
};
|
next_line_shifted |
|---|
template <typename T> concept C = requires
{
typename T::inner1; typename T::inner2;
};
|
next_line_shifted_2 |
|---|
template <typename T> concept C = requires
{
typename T::inner1; typename T::inner2;
};
|
その他のステートメントやブロック
プロパティ名:
[resharper_]cpp_other_braces、 [resharper_]cpp_brace_style、 [resharper_]other_braces、 [resharper_]brace_style
使用可能な値:
end_of_line: 行末 (K&R スタイル)end_of_line_no_space: 行末 (空白なし)next_line: 次の行に (BSD スタイル)next_line_shifted: 次の行のインデント時に (ホワイトスミススタイル)next_line_shifted_2: 次の行インデント 2 (GNU スタイル)
例:
end_of_line |
|---|
if (condition) {
foo();
}
else {
foo();
}
|
end_of_line_no_space |
|---|
if (condition){
foo();
}
else{
foo();
}
|
next_line |
|---|
if (condition)
{
foo();
}
else
{
foo();
}
|
next_line_shifted |
|---|
if (condition)
{
foo();
}
else
{
foo();
}
|
next_line_shifted_2 |
|---|
if (condition)
{
foo();
}
else
{
foo();
}
|
その他の波括弧
プロパティ名:
[resharper_]cpp_expression_braces, [resharper_]expression_braces
使用可能な値:
inside: 括弧内 (BSD/K&R スタイル)outside: 括弧内と等しく (ホワイトスミススタイル)outside_and_inside: 括弧 1x、2x の内側 (GNU スタイル)none: インデントしない
例:
inside |
|---|
int a[10] =
{
1, 2, 3
};
|
outside |
|---|
int a[10] =
{
1, 2, 3
};
|
outside_and_inside |
|---|
int a[10] =
{
1, 2, 3
};
|
none |
|---|
int a[10] =
{
1, 2, 3
};
|
空の波括弧フォーマット
プロパティ名:
[resharper_]cpp_empty_block_style, [resharper_]empty_block_style
使用可能な値:
multiline: 異なる行together: 波括弧を一緒に配置するtogether_same_line: 一緒に同じ行に
例:
multiline |
|---|
class C
{
};
void foo()
{
for (;;)
{
}
}
|
together |
|---|
class C
{};
void foo()
{
for (;;) {}
}
|
together_same_line |
|---|
class C {};
void foo()
{
for (;;) {}
}
|
単純な複合ステートメントを 1 行にまとめる
プロパティ名:
[resharper_]cpp_simple_block_style, [resharper_]simple_block_style
使用可能な値:
do_not_change: 変更しないon_single_line: 強制的に 1 行に入れるline_break: 強制改行
例:
do_not_change |
|---|
int foo() { return 0; }
|
on_single_line |
|---|
int foo() { return 0; }
|
line_break |
|---|
int foo()
{
return 0;
}
|
ブロックを開始するマクロの正規表現
プロパティ名:
[resharper_]cpp_macro_block_begin, [resharper_]macro_block_begin
ブロックを終了するマクロの正規表現
プロパティ名:
[resharper_]cpp_macro_block_end, [resharper_]macro_block_end
'{' の後のコメントを許可する
プロパティ名:
[resharper_]cpp_allow_comment_after_lbrace, [resharper_]allow_comment_after_lbrace
使用可能な値:
true | false
例:
true |
|---|
if (condition)
{ // comment
statement;
}
|
false |
|---|
if (condition)
{
// comment
statement;
}
|