C 基于大括号的存在,铿锵格式的行为会有所不同吗?

C 基于大括号的存在,铿锵格式的行为会有所不同吗?,c,clang-format,C,Clang Format,我想更改clangformat: if(条件){printf(“%d\n”,0);} 致: if(条件){ printf(“%d\n”,0); } 如果我将AllowShortIfStatementsOnASingleLine设置为Never,则会发生这种情况。但是,我也希望能够做到以下几点: if(条件)返回; 换句话说,我希望clangformat仅在有大括号的情况下强制使用单独的行。使用AllowShortIfStatementsOnASingleLine:Never,这将更改为:

我想更改
clangformat

if(条件){printf(“%d\n”,0);}
致:

if(条件){
printf(“%d\n”,0);
}
如果我将
AllowShortIfStatementsOnASingleLine
设置为
Never
,则会发生这种情况。但是,我也希望能够做到以下几点:

if(条件)返回;
换句话说,我希望
clangformat
仅在有大括号的情况下强制使用单独的行。使用
AllowShortIfStatementsOnASingleLine:Never
,这将更改为:

if(条件)
返回;

这可能吗?

是的。您需要将
AllowShortBlocksOnASingleLine
设置为
false
。然后将
AllowShortIfStatementsOnASingleLine
设置为
WithoutElse
始终
(或
true
,适用于10.0之前的
clang格式版本)

当代码有大括号时,将使用
AllowShortBlocksOnASingleLine
设置。当代码没有大括号时,将使用
AllowShortIfStatementsOnASingleLine
设置。有关更多详细信息,请参阅

下面是一个很好的实验样式设置的地方