问题 枚举的clang格式样式选项


有谁知道如何配置clang格式以保持枚举的个别行?

enum {
    ONE,
    TOW,
    THREE
};

enum {ONE, TWO, THREE};

编辑:

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

http://pastebin.com/0cTEhvBv


12747
2018-04-14 23:36


起源

我刚尝试了所有预定义的clang格式样式和所有转换后的单行枚举(您的第二个示例)到断行枚举(您的第一个示例)。这不是你想要的吗? - jlmendezbonini
是的,预定义的LLVM,CPP等样式确实打破了它们,这是正确的,我想要它,但我使用的配置文件设置了一堆样式选项,以匹配Apple的Objective-C风格指南和其中一个(不是)知道哪一个),改变行为并取消线条并将枚举放入一行。我编辑了OP以包含我的样式选项。 - pixbroker
我不能重现那种行为。我正在使用你的配置文件,我仍然得到断行枚举。 - jlmendezbonini


答案:


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

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

enum {
    ONE,
    TOW,
    THREE,
};

要么

enum {
    ONE,  // This means ...
    TOW,
    THREE
};

16
2018-06-03 07:57



奇迹般有效! - orkenstein
难道你不知道,如何为积木实现同样的目标? - orkenstein
它更像是一种解决方法,而不是一种解决方案 - Carlos Jiménez


这个答案, 设置 ColumnLimit 至 0 也会实现这种行为。


0
2017-12-29 07:14