val*_*ano 14 c++ clang clang-format
使用具有默认设置的clang-format,如下所示:
if ((exprA) &&
(exprB))
Run Code Online (Sandbox Code Playgroud)
变成:
if ((exprA) && (exprB))
Run Code Online (Sandbox Code Playgroud)
我试图阻止将条件折叠成一条线,但没有成功.
目前有办法实现这一目标吗?
在clang格式的文档中,BreakBeforeBinaryOperators参数似乎与我之后的最接近:
BreakBeforeBinaryOperators(BinaryOperatorStyle)
包装二元运算符的方法.
- BOS_None(在配置中:)
None断开运算符.
但它似乎只在需要包装时才会启动(超出列限制),这不是通常的情况.
根据Clang 10文档,可以完成您的请求。您必须对 clang 文件进行这两项更改
BraceWrapping:集合中AfterControlStatement: true。ColumnLimit: 1output -: if ((exprA) &&
(exprB))
Run Code Online (Sandbox Code Playgroud)
如果您有任何疑问,可以在这里尝试一下。但问题是你的其他代码也会被格式化。
没有办法只能分开 if ((exprA) && (exprB))。如果任何人都可以为此创建补丁,那么就可以做到这一点,但为此创建补丁并不那么容易。这需要大量的时间和精力。