【问题标题】:make Clang-Format ignore comments for line break使 Clang-Format 忽略换行符的注释
【发布时间】:2017-11-27 15:44:56
【问题描述】:

是否可以告诉 Clang-Format 忽略 cmets 进行换行操作?这个想法是遵循“代码格式良好,即使 cmets 超出换行边距”的风格。代码不应该分成多行,如果它不超过边距,但注释会。

例如

//desired behaviour:
short code = shortCode + 
        longlonglongCode;
short code = shortCode; //long comment without a line break

//not desired behaviour:
short code =
    shortCode;  //long comment without a line break

【问题讨论】:

  • 您找到解决方案了吗?
  • @XKpe 不幸的是没有。我发现唯一有用的是在 imortant 部分中反复执行 clang-format,但这是一个不好的解决方法

标签: c++ clang clang-format autoformatting


【解决方案1】:

回流评论:(bool)

如果trueclang-format 将尝试重新流 cmets。

false:
// veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
/* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information */

true:
// veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of
// information
/* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of
 * information */

Source

使用ReflowComments: true,启用后会在//后面加1个空格,达到限制时会刹车。

您可以使用PenaltyBreakComment进行调整。
例如。刹车线PenaltyBreakComment: 1000000000

【讨论】:

  • 不幸的是,这不起作用。 cmets 将保持不变,但它们前面的代码将被拆分,即使它没有超出边距。
  • 我刚刚编辑了问题,抱歉。但实际上,示例代码甚至在编辑之前就显示了所需的行为。
猜你喜欢
  • 2018-07-16
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 2018-06-09
  • 2021-06-07
  • 2018-11-11
相关资源
最近更新 更多