NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# 填充选项 [TOC] ## break-blocks **--break-blocks 或 -f** 在条件语句和循环语句前后填充一个空行(例如:'if', 'for', 'while'等语句)。 ``` isFoo = true; if (isFoo) { bar(); } else { anotherBar(); } isBar = false; 格式化为: isFoo = true; if (isFoo) { bar(); } else { anotherBar(); } isBar = false; ``` ## break-blocks=all **--break-blocks=all 或 -F** 在条件语句和循环语句前后填充一个空行(例如:'if', 'for', 'while'等语句)。但是,将分支语句作为独立一个模块分隔(例如:'else', 'catch'等分支语句)。 ``` isFoo = true; if (isFoo) { bar(); } else { anotherBar(); } isBar = false; 格式化为: isFoo = true; if (isFoo) { bar(); } else { anotherBar(); } isBar = false; ``` ## pad-oper **--pad-oper 或 -p** 在操作符前后插入空格,这也会在逗号之后插入空格。如果可能的话,行尾注释将保留在原始列中。注意,没有去除填充空格的选项。所以一旦填充,它们就会保持填充状态。 ``` if (foo==2) a=bar((b-c)*a,d--); 格式化为: if (foo == 2) a = bar((b - c) * a, d--); ``` ## pad-comma **--pad-comma 或 -xg** 在逗号之后插入空格。如果使用 [pad-oper](),就不需要设置该选项。如果可能的话,行尾注释将保留在原始列中。注意,没有去除填充空格的选项。所以一旦填充,它们就会保持填充状态。 ``` if (isFoo(a,b)) bar(a,b); 格式化为: if (isFoo(a, b)) bar(a, b); ``` ## pad-paren **--pad-paren 或 -P** 在括号操作符无论内部还是外部,前后插入空格。如果可能的话,行尾注释将保留在原始列中。 ``` if (isFoo((a+2), b)) bar(a, b); 格式化为: if ( isFoo ( ( a+2 ), b ) ) bar ( a, b ); ``` ## pad-paren-out **--pad-paren-out 或 -d** 只在括号操作符的外部,前后插入空格。空的括号将不会被填充。如果可能的话,行尾注释将保留在原始列中。这可以使用下面的 [unpad-paren]() 选项,以删除不需要的空格填充。 ``` if (isFoo((a+2), b)) bar(a, b); 格式化为: if (isFoo ( (a+2), b) ) bar (a, b); ``` ## pad-first-paren-out **--pad-first-paren-out 或 -xd** 只在第一层括号操作符的外部,前后插入空格。空的括号将不会被填充。如果可能的话,行尾注释将保留在原始列中。这可以使用下面的 [unpad-paren]() 选项,以删除不需要的空格填充。如果同时设置 [pad‑paren]() 或 [pad‑paren-out]() ,该选项则被忽略。如果同时设置 [pad‑paren‑in](),格式化结果与 [pad‑paren]() 相同。 ``` if (isFoo((a+2), b)) bar(a, b); 格式化为: if (isFoo ((a+2), b)) bar (a, b); ``` ## pad-paren-in **--pad-paren-in 或 -D** 只在括号操作符的内部,前后插入空格。空的括号将不会被填充。如果可能的话,行尾注释将保留在原始列中。这可以使用下面的 [unpad-paren]() 选项,以删除不需要的空格填充。 ``` if (isFoo((a+2), b)) bar(a, b); 格式化为: if ( isFoo( ( a+2 ), b ) ) bar( a, b ); ``` ## pad-header **--pad-header 或 -H** 在条件语句或循环语句与括号之间插入空格(例如:'if', 'for', 'while'等)。如果可能的话,行尾注释将保留在原始列中。这可以使用下面的 [unpad-paren]() 选项,以删除不需要的空格填充。 ``` if(isFoo((a+2), b)) bar(a, b); 格式化为: if (isFoo((a+2), b)) bar(a, b); ``` ## unpad-paren **--unpad-paren 或 -U** 在括号操作符无论内部还是外部,前后去除多余的空格。该选项可以跟上面的 [pad‑paren](),[pad‑paren‑out](),[pad‑paren‑in](),和[pad‑header]() 等选项一起使用。只有上述选项之外的空格会被删除。 例如,如果源文件的括号内部和外部都填充了空格,而您只需要内部填充。您需要使用 [unpad-paren]() 删除外部填充的空格,而选项 [pad‑paren‑in]() 保留内部填充的空格。如果仅仅只有这一个选项 [pad‑paren‑in](),不会删除外部填充空格。 ``` if ( isFoo( ( a+2 ), b ) ) bar ( a, b ); 格式化为(不需要任何填充空格): if(isFoo((a+2), b)) bar(a, b); ``` ## delete-empty-lines **--delete-empty-lines 或 -xe** 删除函数或方法中的空行。函数或方法之外的空行不会被删除。如果与 [break-blocks]() 或 [break-blocks=all]() 一起使用,它将删除除[ break-blocks]() 选项添加的空行之外的所有其他空行。 ``` void Foo() { foo1 = 1; foo2 = 2; } 格式化为: void Foo() { foo1 = 1; foo2 = 2; } ``` ## fill-empty-lines **--fill-empty-lines 或 -E** 用前一行的空白字符填充空行。 ## align-pointer **--align-pointer=type 或 -k1** **--align-pointer=middle 或 -k2** **--align-pointer=name 或 -k3** 附加一个空格在指针或引用操作符(& *,或^)与变量类型(左)或变量名(右)之间,或将符号与类型和名称之间都填充空格(中间)。如果可能的话,类型和名称之间的间隔将被保留。此选项适用于C/ C++、C++ /CLI和C#文件。如果要单独格式化引用符号,请使用以下 [align-reference]() 选项。 ``` char* foo1; char & foo2; string ^s1; becomes (with align-pointer=type): char* foo1; char& foo2; string^ s1; char* foo1; char & foo2; string ^s1; becomes (with align-pointer=middle): char * foo1; char & foo2; string ^ s1; char* foo1; char & foo2; string ^s1; becomes (with align-pointer=name): char *foo1; char &foo2; string ^s1; ``` ## align-reference **--align-reference=none 或 -W0** **--align-reference=type 或 -W1** **--align-reference=middle 或 -W2** **--align-reference=name 或 -W3** 此选项将使引用与指针分离。指针不会被这个选项改变。如果指针和引用要对齐,请使用前面的 [align-pointer]() 选项。选项 **align-reference=none** 不会改变引用对齐方式。其他选项与对齐指针相同。此选项适用于C/ C++、C++ /CLI和C#文件文件。 ``` char &foo1; becomes (with align-reference=type): char& foo1; char& foo2; becomes (with align-reference=middle): char & foo2; char& foo3; becomes (with align-reference=name): char &foo3; ```