【发布时间】:2019-01-27 16:01:14
【问题描述】:
我遇到了关于 clang 格式的问题:
我要强制执行的是块开头的大括号始终附加到函数头/控制序列...
这意味着,而不是
int f()
{
return 1;
}
或
if(o < 1)
{
return -1;
}
clang-format 应该总是像这样附加左大括号:
int f() {
return 1;
}
和
if(o < 1) {
return -1;
}
虽然这适用于第一种情况(函数头和大括号之间没有换行符),但如果函数头/if 等之间有换行符,则它不起作用。
我没有为clang-format 找到任何强制执行此操作的选项。
最接近我正在寻找的选项是BreakBeforeBraces: Attach,但这也没有正确格式化第二种情况。玩弄这个选项以及BraceWrapping 下的选项也没有解决问题。
有没有办法将clang-format 配置为加入诸如左括号之类的行总是在它们之前的最后一行代码的末尾?
我玩过https://clangformat.com/ 或http://cf.monofraps.net/ 等在线配置器,但找不到满足我需求的选项集。
我目前使用的是 clang-format 3.8 版。
【问题讨论】:
-
你试过 BreakBeforeBraces: Allman 吗?
-
@katrasnikj:是的,我做到了,但它并没有解决问题。感谢您的建议!
-
对于小型函数,使用 stackoverflow.com/a/58802059/10063119 SFS_All 运行 clang-format,然后将其删除并添加正确的大括号设置。
标签: c++ clang-format