Clang Formatter 多行格式化配置错误

Clang Formatter multiline formatting config error

我对 vscode 格式化我的代码的方式有疑问

我想要的格式:

std::cout << std::endl << "Something";

我得到的格式:

std::cout << std::endl
          << "Something";

我当前的配置:

"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"

这似乎是 ColumnLimit: 0<< 运算符之间的交互。我用 clang-format 6.0.0 验证了这一点。使用 configurator,我可以验证这个缺陷首先出现在 3.6.0 版本,并且一直存在到 10.0.0,所以它已经存在了一段时间。

有趣的是,即使 >> 也能正常工作,只是 << 运算符可以做到这一点。

我没有看到任何好的解决方法 - 你剩下的是:

  • 接受它。
  • 将 ColumnLimit 设置为其他值。
  • 使用 operator<< 而不是 << 来优化您的代码。例如,您会使用类似 std::cout.operator<<(std::endl).operator<<("Something").
  • 的内容