如何设置clang格式以保持返回类型和原型在同一行中

hmae6n7t  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(118)

我发现了clang-format。我将ColumnLimit设置为120。一般来说,这很好用,这意味着在不同的行上设置函数的参数。

void myLongFunctionNameMoreThan120Col(int foo,
                                      float barbar,
                                      float* aLongPointerName,
                                      float* anotherVeryLongPointerName);

字符串
但是对于长返回类型,函数名在返回类型之外的另一行:

LONGTYPE
myLongFunctionNameMoreThan120Col(int foo, float barbar, float* aLongPointerName, float* anotherVeryLongPointerName);


如何告诉clang-format总是像第一种情况下一样?
我尝试了更长的变量名来强制格式。解决方案并不令人满意,我不应该修改我的变量名。

LONGTYPE myLongFunctionNameMoreThan120Col(int foo,
                                          float barbarTotoLong,
                                          float* aLongPointerName,
                                          float* anotherVeryLongPointerName);

5jvtdoz2

5jvtdoz21#

关于样式选项的documentation指定了您需要了解的关于任何特定选项的所有内容。
您要查找的选项是AlwaysBreakAfterReturnType: None。值None的含义描述为:
返回类型后自动中断。考虑PenaltyReturnTypeOnItsOwnLine。
因此,您可以使用PenaltyReturnTypeOnItsOwnLine额外控制所需的行为。
我假设clang-format会尝试格式化代码,使格式化代码的总惩罚尽可能小。因此,您需要将PenaltyReturnTypeOnItsOwnLine设置为相对于其他惩罚选项值的高值。

相关问题