我的代码看起来像这样:
EXPECT_EQ(
subsystem->previousTouchscreenState,
expectedTouchscreenState
);
当我运行clang-format
时,它会将代码片段重新格式化为如下所示:
EXPECT_EQ(
subsystem->previousTouchscreenState,
expectedTouchscreenState );
这是非常违反直觉的;我希望我的多行函数调用(尽管在这种情况下EXPECT_EQ
是一个宏(将右圆括号放在自己的行上,缩进到函数名称的级别,就像在第一个片段中一样。
我如何使用clang-format
完成此操作?
非常感谢。
我的多行函数调用(尽管在这种情况下EXPECT_EQ是一个宏(在其自己的行上具有右圆括号,缩进到函数名称的级别,就像在第一个代码段中一样。
如何使用 clang 格式实现此目的?
该选项似乎尚未添加;要么等待,要么参与clang开源项目。
编辑: 正如Catskul,DCzajkowski和Dwayne在评论中指出的那样: https://reviews.llvm.org/D109557 被接受
BAS_BlockIndent (在配置中:BlockIndent( 总是在 打开括号,如果参数不适合一行。关闭 括号将放在新行上。例如:
您可以使用AlignAfterOpenBracket: BlockIndent
这里有更多信息:https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket 📚
我找到了一个解决方法。如果在最后一个参数的末尾添加注释,则 clang-format(或任何工具(不应向后折叠右括号。
EXPECT_EQ(
subsystem->previousTouchscreenState,
expectedTouchscreenState //
);