clang-format在if()while()for()之后添加{}语句

时间:2016-01-27 21:04:30

标签: clang-format

我想知道是否可以设置clang格式以将compound_statement中的非{ non-compound_statement; }缩减为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; }

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

1 个答案:

答案 0 :(得分:1)

你想要做的是在clang-format试图实现的范围之外:

  
      
  • 唯一的词汇元素clang-format应该触及的是:空格,字符串文字和注释。任何其他变化   从订购包括去除多余的paranthesis   不在此工具的范围内。
  •   

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

然而,clang整洁可以,功能标志被称为readability-braces-around-statements

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