我想要使用具有特殊编码风格的Clang格式的存储库。它打破了返回类型,但它也将短函数定义放在一行:
bool
isConditionMet() const { return _isConditionMet; }
当功能不短时:
bool
MyClass::isConditionMet() const {
bool first = computeA();
return first && computeB();
}
我试图尽可能地使 .clang-format 文件匹配,但我无法使其发挥作用。这是一个最小的例子(我删除了所有不相关的设置):
---
Language: Cpp
AllowShortFunctionsOnASingleLine: All
AlwaysBreakAfterReturnType: All
...
在此上运行时:
class Test
{
public:
void doNothing() {}
int giveMe() { return 42; }
int compute()
{
int i = 0;
i += 42;
return i;
}
};
我明白了:
class Test {
public:
void
doNothing() {}
int
giveMe() {
return 42;
}
int
compute() {
int i = 0;
i += 42;
return i;
}
};
而不是我的预期:
class Test {
public:
void
doNothing() {}
int
giveMe() { return 42; }
int
compute() {
int i = 0;
i += 42;
return i;
}
};
两个设置AllowShortFunctionsOnASingleLine
和AlwaysBreakAfterReturnType
似乎相互冲突。 Clang Format是否允许我想要的格式化风格?
版本:
$ clang-format-5.0 --version
clang-format version 5.0.0-3~16.04.1 (tags/RELEASE_500/final)