Clang Formatter 多行格式化配置错误

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

我在 vscode 如何格式化我的代码时遇到问题

我想要的格式:

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

我得到的格式:

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

我当前的配置:

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

c++ code-formatting clang-format
1个回答
1
投票

这似乎是

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

有趣的是,即使

>>
工作正常,也只是
<<
运算符执行此操作。

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

  • 忍受它。
  • 将 ColumnLimit 设置为其他值。
  • 使用
    operator<<
    来丑化你的代码,而不仅仅是
    <<
    。例如,您可以使用类似
    std::cout.operator<<(std::endl).operator<<("Something")
    的内容。
© www.soinside.com 2019 - 2024. All rights reserved.