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();
};
05-11 09:41