我对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格式的3.8版。
答案 0 :(得分:0)
您可以使用:
MaxEmptyLinesToKeep: 0
这将导致删除空行,然后将大括号格式化为您要求的格式。
但是,我希望这对您来说不是一个很好的解决方案,因为它将删除所有空行,而不仅是大括号前的空行。
除此之外,我认为使用clang格式6.0.0不可能做到这一点。我也不认为它是在新版本中添加的-documentation中似乎没有与此相关的内容。