Artistic Style 3.1
Tab 选项
下面的示例显示空白字符。一个空格(space)用一个 . 表示,一个制表符(tab)用 > (大于号) 表示。
** 默认缩进 **
如果没有设置缩进选项,则使用 4 个空格的默认选项 (例如 - s4 --indent=spaces=4)。
with default values:
void Foo() {
....if (isBar1
............&& isBar2) // 这一行的缩进可以用最小条件缩进来改变
........bar();
}
--indent=spaces / --indent=spaces=# / -s#
每个缩进使用 # 个空格 (例如 -s3 --indent=spaces=3)。# 必须在 2 到 20 之间。不指定 # 则每个缩进默认值为 4 个空格。
with indent=spaces=3
void Foo() {
...if (isBar1
.........&& isBar2) // 这一行的缩进可以用最小条件缩进来改变
......bar();
}
--indent=tab / --indent=tab=# / -t / -t#
缩进使用制表符进行缩进,空格用于连续行对齐。这确保无论查看器的制表符大小如何,代码都能正确显示。将每个缩进视为 # 个空格 (例如 - t6 /--indent=tab=6)。# 必须在 2 到 20 之间。如果没有设置 #,则将缩进视为 4 个空格。
with indent=tab:
void Foo() {
> if (isBar1
> ........&& isBar2) // 这一行的缩进可以用最小条件缩进来改变
> > bar();
}
with style=linux, indent=tab=8:
void Foo()
{
> if (isBar1
> ....&& isBar2) // 这一行的缩进不能用 style=linux 更改
> > bar();
}
--indent=force-tab / --indent=force-tab=# / -T / -T#
如果可能,所有缩进都用制表符。如果连续行不是偶数个制表符,则在末尾添加空格。将每个制表符当作 # 个空格 (例如 -T6 /--indent=force-tab=6)。# 必须在 2 到 20 之间。如果没有设置 #,则将制表符视为 4 个空格。
with indent=force-tab:
void Foo() {
> if (isBar1
> > > && isBar2) // 这一行的缩进可以用最小条件缩进来改变
> > bar();
}
--indent=force-tab-x / --indent=force-tab-x=# / -xT / -xT#
这个 force-tab 选项允许将制表符长度设置为与缩进长度不同的长度。这可能导致缩进是制表符和空格的混合。如果可能,制表符将用于缩进。如果不能使用制表符缩进,则使用空格。
此选项设置制表符长度。将每个制表符视为 # 个空格 (例如 -xT6 /--indent=force-tab-x=6)。# 必须在 2 到 20 之间。如果没有设置 #,则将制表符视为 8 个空格。如果要修改默认的 4 个空格的缩进长度,还必须使用选项 indent=force-tab。
with indent=force-tab-x (默认制表符长度 8 个空格,缩进 4 个空格):
void Foo() {
....if (isBar1
> ....&& isBar2) // 这一行的缩进可以用最小条件缩进来改变
> bar();
}
大括号修饰选项
--attach-namespaces / -xn
在命名空间语句末尾加大括号,不管使用何种大括号样式。它还将大括号附加到 CORBA IDL 模块语句。
大括号始终在命名空间语句末尾:
namespace FooName {
...
}
--attach-classes / -xc
在类语句末尾加大括号,不管使用何种大括号样式。
大括号始终在类语句末尾:
class FooClass {
...
};
--attach-inlines / -xl
在类里面和内部函数定义处加大括号。此选项对除 Horstmann 和 Pico(运行样式) 之外的所有样式都具有优先级。它只对 c++ 文件有效。
在类里面和内部函数定义处加大括号:
class FooClass
{
void Foo() {
...
}
};
--attach-extern-c / -xk
将大括号附加到有括号的 extern "C" 语句上,不管使用何种大括号样式。此选项仅对 c++ 文件有效。
此选项在带括号的 extern“C” 语句末尾添加大括号:
#ifdef __cplusplus
extern "C" {
#endif
但是函数定义是按照要求的大括号样式格式化的:
extern "C" EXPORT void STDCALL Foo()
{}
--attach-closing-while / -xV
将 do-while 语句的 while 条件判断放在右大括号末尾。这比大括号样式和 break 右大括号选项有更高优先级。
do
{
bar();
++x;
}
while x == 1;
变成:
do
{
bar();
++x;
} while x == 1;
缩放选项
--indent-classes / -C
缩进类和结构块,从而使整个块缩进。只有当访问修饰符 “public:”、“protected:” 或“private:”在结构中的某个地方声明时,结构块才缩进。此选项仅对 c++ 文件有效。
class Foo
{
public:
Foo();
virtual ~Foo();
};
变成:
class Foo
{
public:
Foo();
virtual ~Foo();
};