在clang-format 3.7.0中,结构和类的大括号不同

时间:2015-11-09 12:27:26

标签: c++ clang clang-format

我在clang-formatstruct es的class中遇到了不同的支撑破坏行为。

以下示例文件说明了它:

TEST.CPP

class TestClass
{
int member;
};

struct TestStruct
{
int member;
};

使用clang-format运行BreakBeforeBraces: Linux v3.7.0会产生:

$ clang-format test.cpp -style="{BreakBeforeBraces: Linux}"
class TestClass
{
  int member;
};

struct TestStruct {
  int member;
};

但是,clang-format v3.5.0导致:

class TestClass
{
  int member;
};

struct TestStruct
{
  int member;
};

这是预期的行为吗?我没有在更改日志中找到任何提示。 我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

这似乎是预期的行为,因为在clang-format 10.0.0版中已经存在将近5年了。

但是,从3.8.0版开始,您可以通过设置BreakBeforeBraces来微调BreakBeforeBraces: Custom的行为。执行此操作后,即可设置BraceWrapping标志。特别是,有单独的标志AfterClassAfterStruct-如果将它们都设置为true,则应该恢复3.5.0版的行为。有关详细信息,请参见documentation