20

有谁知道如何配置 clang-format 以将枚举保持在单独的行上?

IE

enum {
    ONE,
    TOW,
    THREE
};

对比

enum {ONE, TWO, THREE};

编辑:

以下是我用来匹配 Apple 的 Objective-C 样式指南的样式选项。

http://pastebin.com/0cTEhvBv

4

4 回答 4

30

这是在某个阶段有意引入的(因此,如果您无法重现该行为,您可能使用的是旧版本)。

如果所有元素都适合一行,则 clang-format 会将枚举收缩到一行。这可以节省空间并且通常不会降低可读性。没有样式选项,但您可以通过在某处添加行注释或在最后一个枚举数后添加尾随逗号来覆盖它,例如:

enum {
    ONE,
    TOW,
    THREE,
};

或者

enum {
    ONE,  // This means ...
    TOW,
    THREE
};
于 2014-06-03T07:57:55.780 回答
3
AllowShortEnumsOnASingleLine: false

您可能需要更新版本的 clang-format 来支持这一点。来自https://clang.llvm.org/docs/ClangFormatStyleOptions.html

于 2021-03-25T04:40:42.143 回答
2

另一种解决方案是使用:

BraceWrapping:
  AfterEnum: true

这将导致以下结果:

enum 
{
    ONE,
    TOW,
    THREE,
};

这并不理想,因为它强制{ColumnLimit = 0.

于 2020-08-04T17:25:17.230 回答
0

根据这个答案,设置ColumnLimit0也将实现此行为。

于 2017-12-29T07:14:19.353 回答