clang-format 使用指示符删除数组定义中的新行
clang-format removes new lines in array definition with designators
我喜欢在可能的情况下使用指示符定义我的数组值:
enum Mode {
NONE,
SPLIT_FILES,
SINGLE_FILE,
INVALID
};
const std::string ModeName[] = {
[NONE] = "NONE",
[SPLIT_FILES] = "SPLIT_FILES",
[SINGLE_FILE] = "SINGLE_FILE",
[INVALID] = "INVALID"
};
运行 通过 clang-format
(3.5) 破坏新行并使其可读性降低:
enum RecorderMode { REC_NONE, REC_SPLIT_FILES, REC_SINGLE_FILE, REC_INVALID };
const std::string RecorderModeName[]
= {[REC_NONE] = "NONE", [REC_SPLIT_FILES] = "SPLIT_FILES", [REC_SINGLE_FILE] = "SINGLE_FILE",
[REC_INVALID] = "INVALID" };
数组定义有几个问题:= {
移到下一行。如果我在最后一个数组条目后添加一个逗号,行将缩进两次。
除了使用 clang-format 关闭注释之外,有没有办法保留新行和缩进?
This 显示了 enum
的解决方法(在最后一个常量后添加逗号,或在逗号后添加尾随注释),但它似乎不适用于数组。
给了我一个可接受的解决方法:
将ColumnLimit
设置为0。代价是不会自动换行,但这是值得的。工作中的所有程序员都倾向于不写过去的第 120 列。
每一行的评论也有效。
enum Mode {
NONE, // Comments
SPLIT_FILES, // On
SINGLE_FILE, // Every
INVALID // Line
};
我喜欢在可能的情况下使用指示符定义我的数组值:
enum Mode {
NONE,
SPLIT_FILES,
SINGLE_FILE,
INVALID
};
const std::string ModeName[] = {
[NONE] = "NONE",
[SPLIT_FILES] = "SPLIT_FILES",
[SINGLE_FILE] = "SINGLE_FILE",
[INVALID] = "INVALID"
};
运行 通过 clang-format
(3.5) 破坏新行并使其可读性降低:
enum RecorderMode { REC_NONE, REC_SPLIT_FILES, REC_SINGLE_FILE, REC_INVALID };
const std::string RecorderModeName[]
= {[REC_NONE] = "NONE", [REC_SPLIT_FILES] = "SPLIT_FILES", [REC_SINGLE_FILE] = "SINGLE_FILE",
[REC_INVALID] = "INVALID" };
数组定义有几个问题:= {
移到下一行。如果我在最后一个数组条目后添加一个逗号,行将缩进两次。
除了使用 clang-format 关闭注释之外,有没有办法保留新行和缩进?
This 显示了 enum
的解决方法(在最后一个常量后添加逗号,或在逗号后添加尾随注释),但它似乎不适用于数组。
将ColumnLimit
设置为0。代价是不会自动换行,但这是值得的。工作中的所有程序员都倾向于不写过去的第 120 列。
每一行的评论也有效。
enum Mode {
NONE, // Comments
SPLIT_FILES, // On
SINGLE_FILE, // Every
INVALID // Line
};