这个帖子 https://stackoverflow.com/questions/21966530/clang-format-always-break-if-params-dont-fit问了一个类似的问题,当参数太多时如何修改格式。
我非常喜欢 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
}
clang 格式AlignAfterOpenBracket
刚刚有了一个新的选择——BlockIndent
(于 22 年 1 月 17 日登陆)正是这样做的。
See https://reviews.llvm.org/rG966f24e5a62a https://reviews.llvm.org/rG966f24e5a62a:
[clang-format] 为 AlignAfterOpenBracket 添加 BlockIndent 选项
此样式与“Always Break”类似,但将右括号放在新行上。
例如,如果您有一个多行参数列表,则 clang-format 当前仅支持对每个参数进行分隔,但将右括号放在最后一个参数的行上。
Function(
param1,
param2,
param3);
其他代码样式工具(例如 rustfmt)支持的样式是允许将右括号放置在自己的行上,帮助用户能够快速推断代码块的边界。
Function(
param1,
param2,
param3
);
该功能预计将以 clang-format-14 形式发布。
与此同时,您可以尝试从LLVM 每晚构建 https://apt.llvm.org/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)