clang 格式,数组初始化器
Posted
技术标签:
【中文标题】clang 格式,数组初始化器【英文标题】:clang-format, array initialisers 【发布时间】:2016-10-29 17:50:06 【问题描述】:在我们的项目中,我们有时将数组初始化为一行,有时将它们初始化为块。那就是
strings::UniChar const s[] = 'H', 'e', 'l', 'l', 'o';
对
字符串::UniChar const s[] = 'H', 'e', 'l', 'l', 'o' ;
我想clang-format
能够区分这两种类型,而不是将第二种类型转换为第一种类型或对齐左大括号后的元素。不是这样的:
strings::UniChar const s[] = 'H', 'e', 'l', 'l', 'o';
有没有办法使用配置文件来实现?
【问题讨论】:
你为什么不为那些带有/* clang-format off */
的声明禁用clang格式
这是我考虑的选项之一,我希望有一种自动化的方式来做到这一点。
【参考方案1】:
在最后一个数组元素之后添加一个逗号会导致 clang-format(使用 v6.0.0 尝试)将元素对齐到左侧,就像您的第二个示例一样。
// With a trailing comma.
char buf[] =
'a',
'b',
;
// Without a trailing comma.
char buf2[] = 'a', 'b';
【讨论】:
【参考方案2】:试试“Cpp11BracedListStyle: false”
【讨论】:
以上是关于clang 格式,数组初始化器的主要内容,如果未能解决你的问题,请参考以下文章