通过clang格式用新行分隔大括号列表中的每个条目



我有用大括号括起来的列表来初始化数组。我想让我的数组初始化器为数组的每个条目都添加一行,看起来像:

const char* const array_of_strings[] = {
"Hey",
"Hi",
"Hello",
"Soup",
"Atom"
};

不过,clang格式将此数组格式化为:

const char *const array_of_strings[] = {"Hey", "Hi", "Hello", "Soup", "Atom"};

通常在列表超过ColumnLimit后添加换行符。我想要的格式化是否可以使用clang格式?

这在很大程度上是可能的。你需要两样东西:

  • BinPackArguments样式选项设置为false。我猜clang格式将大括号括起来的初始值设定项列表视为参数。(文档并没有具体说明这一点,但它似乎是合理的。(
  • 在最后一项功能后使用逗号。为此,在";Atom";以及闭合支架。这个功能在我见过的任何地方都没有记录,但它已经以clang格式存在了很多版本和很多年

有了以上两种设置,以及默认的clang格式设置,您的输出将看起来像:

const char *const array_of_strings[] = {
"Hey",
"Hi",
"Hello",
"Soup",
"Atom",
};

最新更新