EditorConfig 属性用于 C++:缩进和对齐
缩进
连续行缩进
属性名称:
[resharper_]cpp_continuous_line_indent, [resharper_]continuous_line_indent
可能的值:
无:无单一:单一double:双重
示例:
无 |
|---|
int x = foo1() +
foo2();
|
单一 |
|---|
int x = foo1() +
foo2();
|
double |
|---|
int x = foo1() +
foo2();
|
在函数声明和调用圆括号中使用连续行缩进
属性名称:
[resharper_]cpp_use_continuous_line_indent_in_method_pars, [resharper_]use_continuous_line_indent_in_method_pars
可能的值:
true|false
示例:
true |
|---|
void Method(
int parameter1,
int parameter2
)
{
Method(
parameter1,
parameter2
);
}
|
false |
|---|
void Method(
int parameter1,
int parameter2
)
{
Method(
parameter1,
parameter2
);
}
|
在初始值设定项列表中使用连续行缩进
属性名称:
[resharper_]cpp_use_continuous_line_indent_in_expression_braces, [resharper_]use_continuous_line_indent_in_expression_braces
可能的值:
true | false
示例:
true |
|---|
int a[3] =
{
1, 2, 3
};
|
false |
|---|
int a[3] =
{
1, 2, 3
};
|
缩进命名空间成员
属性名称:
[resharper_]cpp_namespace_indentation, [resharper_]namespace_indentation
可能的值:
无:不缩进内部:仅在内部命名空间中缩进all:全部缩进
示例:
无 |
|---|
namespace ns
{
void a();
namespace inner
{
void b();
};
};
|
内部 |
|---|
namespace ns
{
void a();
namespace inner
{
void b();
};
};
|
all |
|---|
namespace ns
{
void a();
namespace inner
{
void b();
};
};
|
缩进链接规范块成员
属性名称:
[resharper_]cpp_linkage_specification_indentation, [resharper_]linkage_specification_indentation
可能的值:
无:不缩进内部:仅在内部命名空间中缩进all:全部缩进
示例:
无 |
|---|
extern "C++" {
void a();
extern "C++" {
void b();
};
};
|
内部 |
|---|
extern "C++" {
void a();
extern "C++" {
void b();
};
};
|
all |
|---|
extern "C++" {
void a();
extern "C++" {
void b();
};
};
|
缩进导出声明块成员
属性名称:
[resharper_]cpp_indent_export_declaration_members, [resharper_]indent_export_declaration_members
可能的值:
true|false
示例:
true |
|---|
export
{
void a();
};
|
false |
|---|
export
{
void a();
};
|
从类缩进访问说明符
属性名称:
[resharper_]cpp_indent_access_specifiers_from_class, [resharper_]indent_access_specifiers_from_class
可能的值:
true|false
示例:
true |
|---|
class C
{
public:
void a();
};
|
false |
|---|
class C
{
public:
void a();
};
|
从访问说明符缩进类成员
属性名称:
[resharper_]cpp_indent_class_members_from_access_specifiers, [resharper_]indent_class_members_from_access_specifiers
可能的值:
true|false
示例:
true |
|---|
class C
{
public:
void a();
};
|
false |
|---|
class C
{
public:
void a();
};
|
缩进成员初始值设定项列表
属性名称:
[resharper_]cpp_indent_member_initializer_list, [resharper_]indent_member_initializer_list
可能的值:
true|false
示例:
true |
|---|
class C
{
C(int x)
: y(x)
{
}
int y;
};
|
false |
|---|
class C
{
C(int x)
: y(x)
{
}
int y;
};
|
如果函数定义或声明在类型后换行,则缩进
属性名称:
[resharper_]cpp_indent_wrapped_function_names, [resharper_]indent_wrapped_function_names
可能的值:
true|false
示例:
true |
|---|
void
foo()
{
}
|
false |
|---|
void
foo()
{
}
|
缩进 'switch' 中的 'case'
属性名称:
[resharper_]cpp_indent_switch_labels, [resharper_]indent_switch_labels
可能的值:
true|false
示例:
true |
|---|
switch (expression)
{
case 0:
{
foo();
break;
}
}
|
false |
|---|
switch (expression)
{
case 0:
{
foo();
break;
}
}
|
缩进函数声明的圆括号
属性名称:
[resharper_]cpp_indent_method_decl_pars, [resharper_]indent_method_decl_pars
可能的值:
括号内: 括号内(BSD/K&R 风格)括号外: 括号和内部等距(Whitesmiths 风格)括号外和内: 括号 1x,内部 2x(GNU 风格)无: 无缩进
示例:
括号内 |
|---|
void Method(
int parameter1,
int parameter2
);
|
括号外 |
|---|
void Method(
int parameter1,
int parameter2
);
|
括号外和内 |
|---|
void Method(
int parameter1,
int parameter2
);
|
无 |
|---|
void Method(
int parameter1,
int parameter2
);
|
缩进方法调用的圆括号
属性名称:
[resharper_]cpp_indent_invocation_pars, [resharper_]indent_invocation_pars
可能的值:
括号内: 括号内(BSD/K&R 风格)括号外: 括号和内部等距(Whitesmiths 风格)括号外和内: 括号 1x,内部 2x(GNU 风格)无: 无缩进
示例:
括号内 |
|---|
Method(
parameter1,
parameter2
);
|
括号外 |
|---|
Method(
parameter1,
parameter2
);
|
括号外和内 |
|---|
Method(
parameter1,
parameter2
);
|
无 |
|---|
Method(
parameter1,
parameter2
);
|
缩进语句(if、while、for 等)圆括号
属性名称:
[resharper_]cpp_indent_statement_pars, [resharper_]indent_statement_pars
可能的值:
括号内: 括号内(BSD/K&R 风格)括号外: 括号和内部等距(Whitesmiths 风格)括号外和内: 括号 1x,内部 2x(GNU 风格)无: 无缩进
示例:
括号内 |
|---|
if (
condition1 &&
condition2
)
return;
|
括号外 |
|---|
if (
condition1 &&
condition2
)
return;
|
括号外和内 |
|---|
if (
condition1 &&
condition2
)
return;
|
无 |
|---|
if (
condition1 &&
condition2
)
return;
|
预处理程序指令缩进
属性名称:
[resharper_]cpp_indent_preprocessor_directives, [resharper_]indent_preprocessor_directives
可能的值:
无: 无缩进正常:缩进不更改: 不更改
示例:
无 |
|---|
void sections()
{
#pragma omp sections
{
int x;
}
}
|
正常 |
|---|
void sections()
{
#pragma omp sections
{
int x;
}
}
|
不更改 |
|---|
void sections()
{
#pragma omp sections
{
int x;
}
}
|
缩进 C++/CLI 泛型约束
属性名称:
[resharper_]cpp_indent_type_constraints, [resharper_]indent_type_constraints
可能的值:
true|false
示例:
true |
|---|
generic<class T1>
class C1
where T1 : I1
{};
|
false |
|---|
generic<class T1>
class C1
where T1 : I1
{};
|
从第一列开始缩进注释
属性名称:
[resharper_]cpp_indent_comment, [resharper_]indent_comment
可能的值:
true|false
示例:
true |
|---|
namespace N
{
// Some comment
class C1
{
};
};
|
false |
|---|
namespace N
{
// Some comment
class C1
{
};
};
|
注释掉代码时将注释置于第一列
属性名称:
[resharper_]cpp_place_comments_at_first_column, [resharper_]place_comments_at_first_column
可能的值:
true|false
对齐多行结构
声明中的声明符
属性名称:
[resharper_]cpp_align_multiple_declaration, [resharper_]align_multiple_declaration
可能的值:
true|false
示例:
true |
|---|
int first,
second
|
false |
|---|
int first,
second
|
函数参数
属性名称:
[resharper_]cpp_align_multiline_parameter, [resharper_]align_multiline_parameter
可能的值:
true|false
示例:
true |
|---|
double average(double first,
double second);
|
false |
|---|
double average(double first,
double second);
|
调用参数
属性名称:
[resharper_]cpp_align_multiline_argument, [resharper_]align_multiline_argument
可能的值:
true|false
示例:
true |
|---|
object.method(first,
second);
|
false |
|---|
object.method(first,
second);
|
将第一个调用实参对齐到 '('
属性名称:
[resharper_]cpp_align_first_arg_by_paren, [resharper_]align_first_arg_by_paren
可能的值:
true|false
示例:
true |
|---|
object.method(
first,
second);
|
false |
|---|
object.method(
first,
second);
|
初始值设定项列表实参
属性名称:
[resharper_]cpp_align_multiline_expression_braces, [resharper_]align_multiline_expression_braces
可能的值:
true|false
示例:
true |
|---|
int a[6] = {1, 2, 3
4, 5, 6};
|
false |
|---|
int a[6] = {1, 2, 3
4, 5, 6};
|
模板声明中的模板形参
属性名称:
[resharper_]cpp_align_multiline_type_parameter, [resharper_]align_multiline_type_parameter
可能的值:
true|false
示例:
true |
|---|
template <typename K,
typename V>
struct map;
|
false |
|---|
template <typename K,
typename V>
struct map;
|
模板实参
属性名称:
[resharper_]cpp_align_multiline_type_argument, [resharper_]align_multiline_type_argument
可能的值:
true|false
示例:
true |
|---|
std::map<char*,
MyStruct> my_map;
|
false |
|---|
std::map<char*,
MyStruct> my_map;
|
类基础子句中的基类
属性名称:
[resharper_]cpp_align_multiline_extends_list, [resharper_]align_multiline_extends_list
可能的值:
true|false
示例:
true |
|---|
struct MyStruct : Base1,
Base2
{
};
|
false |
|---|
struct MyStruct : Base1,
Base2
{
};
|
成员初始值设定项列表中的成员初始值设定项
属性名称:
[resharper_]cpp_align_multiline_ctor_init, [resharper_]align_multiline_ctor_init
可能的值:
true|false
示例:
true |
|---|
struct MyStruct
{
MyStruct() : first(f),
second(s)
{
}
};
|
false |
|---|
struct MyStruct
{
MyStruct() : first(f),
second(s)
{
}
};
|
减少缩进逗号
属性名称:
[resharper_]cpp_outdent_commas, [resharper_]outdent_commas
可能的值:
true|false
示例:
true |
|---|
class Class<
T1
, T3> :
Base
, SomeInterface
{
void fooCall(
int firstParameter
, int secondParameter)
{
fooCall(
firstParameter
, secondParameter);
}
}
|
false |
|---|
class Class<
T1
, T3> :
Base
, SomeInterface
{
void fooCall(
int firstParameter
, int secondParameter)
{
fooCall(
firstParameter
, secondParameter);
}
}
|
?: 运算符
属性名称:
[resharper_]cpp_align_ternary, [resharper_]align_ternary
可能的值:
align_all:对齐align_not_nested:对齐(嵌套时除外)无:不对齐
示例:
align_all |
|---|
int var = 56 + (cond1
? result1
: cond2
? result2
: result3);
|
align_not_nested |
|---|
int var = 56 + (cond1
? result1
: cond2
? result2
: result3);
|
无 |
|---|
int var = 56 + (cond1
? result1
: cond2
? result2
: result3);
|
缩进对齐的 ?: 运算符
属性名称:
[resharper_]cpp_indent_aligned_ternary, [resharper_]indent_aligned_ternary
可能的值:
true|false
示例:
true |
|---|
int var = 56 + (cond1
? result1
: cond2
? result2
: result3);
|
false |
|---|
int var = 56 + (cond1
? result1
: cond2
? result2
: result3);
|
链式方法调用
属性名称:
[resharper_]cpp_align_multiline_calls_chain, [resharper_]align_multiline_calls_chain
可能的值:
true|false
示例:
true |
|---|
struct X
{
X foo(X x)
{
x.foo()
.foo()
.foo();
}
};
|
false |
|---|
struct X
{
X foo(X x)
{
x.foo()
.foo()
.foo();
}
};
|
减少缩进链式方法调用中的 '.' 和 '->'
属性名称:
[resharper_]cpp_outdent_dots, [resharper_]outdent_dots
可能的值:
true|false
示例:
true |
|---|
auto a =
MyVar
.SomeMethod()
->OtherMethod()
.ThirdMethod();
auto b = MyVar
.SomeMethod()
->OtherMethod()
.ThirdMethod();
|
false |
|---|
auto a =
MyVar
.SomeMethod()
->OtherMethod()
.ThirdMethod();
auto b = MyVar
.SomeMethod()
->OtherMethod()
.ThirdMethod();
|
链式二元表达式
属性名称:
[resharper_]cpp_align_multiline_binary_expressions_chain, [resharper_]align_multiline_binary_expressions_chain
可能的值:
true|false
示例:
true |
|---|
int var = 1
+ 2
+ 3;
|
false |
|---|
int var = 1
+ 2
+ 3;
|
在列中对齐相似代码
修正相邻行中的列对齐
属性名称:
[resharper_]cpp_int_align_fix_in_adjacent, [resharper_]int_align_fix_in_adjacent
可能的值:
true|false
赋值
属性名称:
[resharper_]cpp_int_align_eq, [resharper_]int_align_eq
可能的值:
true | false
示例:
true |
|---|
const char* x = "x";
SomeClass xxxxx = "xxxxx";
int xxx;
int& y = xxx;
|
false |
|---|
const char* x = "x";
SomeClass xxxxx = "xxxxx";
int xxx;
int& y = xxx;
|
声明名称
属性名称:
[resharper_]cpp_int_align_declaration_names, [resharper_]int_align_declaration_names
可能的值:
true | false
示例:
true |
|---|
const char* x = "x";
SomeClass xxxxx = "xxxxx";
int xxx;
int& y = xxx;
|
false |
|---|
const char* x = "x";
SomeClass xxxxx = "xxxxx";
int xxx;
int& y = xxx;
|
枚举初始值设定项
属性名称:
[resharper_]cpp_int_align_enum_initializers, [resharper_]int_align_enum_initializers
可能的值:
true | false
示例:
true |
|---|
enum class Direction
{
up = 0b00000001,
down = 0b00000010,
left = 0b00000100,
right = 0b00001000
};
|
false |
|---|
enum class Direction
{
up = 0b00000001,
down = 0b00000010,
left = 0b00000100,
right = 0b00001000
};
|
位域大小
属性名称:
[resharper_]cpp_int_align_bitfield_sizes, [resharper_]int_align_bitfield_sizes
可能的值:
true | false
示例:
true |
|---|
struct C
{
int first : 1;
int second : 2;
};
|
false |
|---|
struct C
{
int first : 1;
int second : 2;
};
|
结束注释
属性名称:
[resharper_]cpp_int_align_comments, [resharper_]int_align_comments
可能的值:
true | false
示例:
true |
|---|
void foo()
{
DoSomething(); // I'm
auto y = 6; // forced
while (y > 0) y--; // to
DoSomethingElse(); /* document */
auto z = 10; /* my code */
while (z < 100) z++; /* profusely */
}
|
false |
|---|
void foo()
{
DoSomething(); // I'm
auto y = 6; // forced
while (y > 0) y--; // to
DoSomethingElse(); /* document */
auto z = 10; /* my code */
while (z < 100) z++; /* profusely */
}
|