8

我想知道是否可以设置 clang-format 来减少compound_statement{ non-compound_statement; }in iteration_statement

statement
: labeled_statement
| compound_statement
| expression_statement
| selection_statement
| iteration_statement
| jump_statement
;
iteration_statement
: WHILE '(' expression ')' statement
| DO statement WHILE '(' expression ')' ';'
| FOR '(' expression_statement expression_statement ')' statement
| FOR '(' expression_statement expression_statement expression ')' statement
;

例子

输入:

if (exp) foo = 1;

输出:

if (exp) { foo = 1; }

然后美化器会根据需要缩进。

4

1 回答 1

4

您想要做的超出了 clang-format 试图实现的范围:

  • clang-format 应该涉及的唯一词汇元素是:空格、字符串文字和注释。从排序到删除多余括号的任何其他更改都不在此工具的范围内。

来源:http ://clang-developers.42468.n3.nabble.com/Design-clang-format-td3980439.html

然而clang tidy可以,特征标志被称为readability-braces-around-statements

资料来源:http ://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html

于 2016-04-26T17:32:03.410 回答