clang-format - 通过 clang-format 用换行符分隔大括号括起来的列表的每个条目
问题描述
我有括号括起来的列表来初始化一个数组。我想让我的数组初始化器为数组的每个条目换行,如下所示:
const char* const array_of_strings[] = {
"Hey",
"Hi",
"Hello",
"Soup",
"Atom"
};
虽然,clang-format 将此数组格式化为:
const char *const array_of_strings[] = {"Hey", "Hi", "Hello", "Soup", "Atom"};
通常,一旦列表超过ColumnLimit ,就会有新的衬里。我想要的格式可以使用 clang-format 吗?
解决方案
大多数情况下是可能的。你需要两件事:
- 将
BinPackArguments
样式选项设置为false
。我猜 clang-format 将大括号括起来的初始值设定项列表视为参数。(文档并没有真正指定这一点,但它似乎是合理的。) - 使用最后一个项目后的逗号功能。为此,请在“Atom”和右大括号之间添加一个逗号。我所见过的任何地方都没有记录此功能,但它在许多版本和多年中一直采用 clang 格式。
使用上述两种设置以及其他默认的 clang 格式设置,您的输出将如下所示:
const char *const array_of_strings[] = {
"Hey",
"Hi",
"Hello",
"Soup",
"Atom",
};
推荐阅读
- javascript - 如何在当前滚动位置垂直居中对话框
- r - 如何使用 R 从 Web 下载 pdf 文件(编码问题)
- c - C 传递参数的顺序。这段代码是如何工作的?
- haskell - 如何纠正语法分析错误?
- ethereum - Geth:余额在 --rinkeby 上始终为 0
- c - 'gtk_message_dialog_set_image' 已弃用
- flutter - 圆形进度指示器未居中颤振
- angular - Angular 8 - 如何将惰性模块加载到选项卡中
- jupyter-notebook - Jupyter Notebook 异步函数
- reactjs - 使用静态关键字的合适的 webpack 加载器是什么?