防止clang格式将多行if语句折叠成一行

问题描述 投票:14回答:1

使用带有默认设置的clang格式,以下内容:

if ((exprA) && 
    (exprB))

变成:

if ((exprA) && (exprB))

我试图防止将条件分解为一行,但没有成功。目前有没有办法实现这一目标?

以clang格式documentationBreakBeforeBinaryOperators参数似乎与我所追求的最接近:

BreakBeforeBinaryOperators(BinaryOperatorStyle)包装二进制运算符的方式。

  • BOS_None(在配置中:None)在操作员之后休息。

但是它似乎仅在需要包装时才起作用(超出了列限制),这不是通常的情况。

c++ clang clang-format
1个回答
0
投票

根据Clang 10 document,您的请求可以完成。您必须对clang文件进行这两项更改

  1. BraceWrapping:中设置AfterControlStatement: true
  2. 比设定ColumnLimit: 1之后
output -: if ((exprA) &&
              (exprB))

如果有任何疑问,可以在Here尝试一下。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.