提问人:doliphin 提问时间:10/21/2021 更新时间:1/25/2022 访问量:2837
clang-format AlignAfterOpenBracket 列表参数
clang-format AlignAfterOpenBracket list params
问:
这篇文章提出了一个类似的问题,即当参数太多时如何修改格式。
我非常喜欢 rust-fmt 样式。有什么方法可以用 clang-format 做到这一点吗?
例如 1:与AlignAfterOpenBrackets: AlwaysBreak
return_t foo(
some_t param_1, some_t param_2, some_t param_3,
some_t param_4) {
// function body
}
例如 2:所需的格式
return_t foo(
some_t param_1,
some_t param_2,
some_t param_3,
some_t param_4
) {
// function body
}
答:
6赞
valiano
1/25/2022
#1
clang-format 刚刚有了一个新选项 - (登陆 17 年 1 月 22 日)正是这样做的。AlignAfterOpenBracket
BlockIndent
请参阅 https://reviews.llvm.org/rG966f24e5a62a:
[clang格式]向 AlignAfterOpenBracket 添加 BlockIndent 选项
此样式类似于 AlwaysBreak,但在新行上放置右括号。
例如,如果您有一个多行参数列表,则 clang-format 目前仅支持按参数中断,但将右括号放在最后一个参数的行上。
Function( param1, param2, param3);
其他代码样式工具(例如 rustfmt)支持的样式是允许将右括号放在自己的行上,从而帮助用户能够快速推断代码块的边界。
Function( param1, param2, param3 );
此功能预计将在 clang-format-14 中发布。
同时,您可以尝试从 LLVM 夜间构建中获取它。
评论