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")
. 的内容
我对 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")
. 的内容