我正在查看 Clang 格式样式选项,但我找不到是否有以下选项。如果一个函数及其参数破坏了ColumnLimit
我想在新行上继续参数。
// Good
SomeLongFunction(first_argument,
second_argument,
third_argument,
fourth_argument,
fifth_argument);
// Bad
SomeLongFunction(first_argument, second_argument, third_argument,
fourth_argument, fifth_argument);
看起来AlignAfterOpenBracket
至少会让我配置当它决定继续下一行时缩进的位置,但我找不到让我指定的东西来分解参数。
您可能希望:
BinPackParameters: false
这样,您的坏示例将被格式化为好示例。文档:
BinPackParameters (bool(
如果为 false,则函数声明或函数定义的参数 要么都在同一行上,要么每行有一行。
true: void f(int aaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {} false: void f(int aaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaa, int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {}
另外:
AllowAllParametersOfDeclarationOnNextLine: false
如果您希望断开所有参数,即使它们在单次中断后适合单行,也可能很有用。文档:
AllowAllParametersOfDeclarationOnNextLine (bool(
如果函数声明不适合一行,则允许将函数声明的所有参数放在下一行,即使 BinPackParameters 是假的。
true: void myFunction( int a, int b, int c, int d, int e); false: void myFunction(int a, int b, int c, int d, int e);