有没有人知道如何配置clang-format以保持enum在各行?
即。
enum {
ONE,
TOW,
THREE
};
VS
enum {ONE, TWO, THREE};
修改
以下是我用来匹配Apple的Objective-C风格指南的样式选项。
答案 0 :(得分:19)
这是故意在某个阶段引入的(因此,如果您无法重现该行为,则可能是旧版本)。
如果所有元素都适合一行,则clang-format合约枚举到一行。这节省了空间,通常不会降低可读性。没有样式选项,但您可以通过在某处添加行注释或在最后一个枚举数之后添加一个尾随逗号来覆盖它,例如:
enum {
ONE,
TOW,
THREE,
};
或
enum {
ONE, // This means ...
TOW,
THREE
};
答案 1 :(得分:1)
另一种解决方法是使用:
enum
{
ONE,
TOW,
THREE,
};
这将导致以下结果:
{
这是不理想的,因为它会在ColumnLimit = 0
之前强制换行,但是我认为这值得考虑,因为list = { element:
{
"job": {
"en": "Gardener",
"nl": "Gardener in Dutch",
"es": "Jardinero",
...
},
"description": { "en": "What a gardener does...",
"nl": "What a gardener does in Dutch...",
"es": "Lo que hace un jardinero...",
...
},
"picture": "IMG_gardener.jpg"
},
element:
{
"job": {
"en": "Farmer",
"nl": "Farmer in Dutch",
"es": "Granjero",
...
},
"description": { "en": "What a farmer does...",
"nl": "What a farmer does in Dutch...",
"es": "Lo que hace un granjero...",
...
},
"picture": "IMG_farmer.jpg"
},
};
禁用了所有智能代码包装,并且许多人可能发现不值得上。
答案 2 :(得分:0)
根据this answer,将ColumnLimit
设置为0
也会实现此行为。
答案 3 :(得分:0)
AllowShortEnumsOnASingleLine: false
您可能需要更新版本的 clang-format 来支持这一点。 来自https://clang.llvm.org/docs/ClangFormatStyleOptions.html