2016-07-28 152 views
4

我有一个C++函数调用,我已经手动和故意格式化像 这样:clang-format:如何防止下一行的所有函数参数?

DoSomethingForAPurposeThatCausesALongFunctionName(
    arg_0, 
    arg_1, 
    arg_2); 

铛格式要重新格式化这样的:

DoSomethingForAPurposeThatCausesALongFunctionName(
    arg_0, arg_1, arg_2) 

我不想这个。 AllowAllParametersOfDeclarationOnNextLine似乎 控制此功能声明的行为,但函数调用呢? 是否有相应的设置?

.clang-format看起来是这样的:

BasedOnStyle: Google 
BinPackArguments: false 
BinPackParameters: false 
AllowAllParametersOfDeclarationOnNextLine: false 
AlignAfterOpenBracket: AlwaysBreak 

回答

-1

我想你需要

AllowAllParametersOfDeclarationOnNextLine: true 

它为我,除非第一个参数是在同一行作为函数调用,在这种情况下,把他们都放在同一条线上。

我也有

ExperimentalAutoDetectBinPacking: false 

可能有一定的影响?

我正在使用版本3.8.0。

+0

这是不正确的,请设置该参数对问题行为没有影响。 – rmcclellan

+0

你说得对 - 它看起来像是有效果的,但无论如何它都会做同样的事情。我发现它将它们全部放在不同的行上,除非第一行与前括号位于同一行。 –

0

以下配置是正确的,可以使用clang-format 5.0获得所需的格式。

AlignAfterOpenBracket: AlwaysBreak 
AllowAllParametersOfDeclarationOnNextLine: false 
BinPackParameters: false 
相关问题