具有单行空构造函数,但在其他任何地方都在换行符上大括号
Have single line empty constructors, but braces on newline everywhere else
我正在寻找一种方法使 clang-format 允许单行空构造函数,但在其他任何地方都将大括号放在换行符上。
理想情况下,我想用一个 clang 配置来支持这三种情况。
Test::Test(const std::string &name) : name(name) {}
std::string Test::get_name()
{
return name;
}
void Test::blank()
{
}
有没有特殊情况构造函数的方法?甚至能够像构造函数一样在一行中使用空函数也是可以接受的。但是将短函数放在一行上是不可接受的。
这并不能解决所有问题,但它解决了我的主要问题。
AllowShortFunctionsOnASingleLine: InlineOnly
这将允许 class 定义中的短函数成为单行。
来自https://clang.llvm.org/docs/ClangFormatStyleOptions.html
SFS_InlineOnly (in configuration: InlineOnly) Only merge functions defined inside a class. Same as “inline”, except it does not implies “empty”: i.e. top level empty functions are not merged either.
class Foo {
void f() { foo(); }
};
void f() {
foo();
}
void f() {
}
这与 BreakBeforeBraces 相结合:Allman 给了我想要的结果。
我正在寻找一种方法使 clang-format 允许单行空构造函数,但在其他任何地方都将大括号放在换行符上。
理想情况下,我想用一个 clang 配置来支持这三种情况。
Test::Test(const std::string &name) : name(name) {}
std::string Test::get_name()
{
return name;
}
void Test::blank()
{
}
有没有特殊情况构造函数的方法?甚至能够像构造函数一样在一行中使用空函数也是可以接受的。但是将短函数放在一行上是不可接受的。
这并不能解决所有问题,但它解决了我的主要问题。
AllowShortFunctionsOnASingleLine: InlineOnly
这将允许 class 定义中的短函数成为单行。
来自https://clang.llvm.org/docs/ClangFormatStyleOptions.html
SFS_InlineOnly (in configuration: InlineOnly) Only merge functions defined inside a class. Same as “inline”, except it does not implies “empty”: i.e. top level empty functions are not merged either.
class Foo {
void f() { foo(); }
};
void f() {
foo();
}
void f() {
}
这与 BreakBeforeBraces 相结合:Allman 给了我想要的结果。