2016-07-28 66 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 
相關問題