clang-format显示将哪种样式选项应用于代码

时间:2019-10-03 09:57:08

标签: c++ clang-format

我正在使用clang格式(内置VSCode)格式化CPP代码,并且在代码中(格式化之前)有类似的内容:

input = {18, -11, ..., 11};

花括号中有100个整数。

使用clang-format格式化后,它变为:

input = {
    18,
    -11,
    ...
    11
};

我不希望它垂直显示超过100行。但是我不知道我必须在.clang格式的文件中配置哪种样式选项。

有没有办法查看适用于代码的样式选项(可能是调试/详细信息或其他内容)?或者我只能看到clang格式的文档,请尝试所有可能的方法来找到控制它的样式选项?

谢谢!

以下是我使用的.clang格式文件。

---
Language: Cpp
BasedOnStyle: Google

AccessModifierOffset: -4
DerivePointerAlignment: false
IndentWidth: 4
SpaceBeforeParens: Never

1 个答案:

答案 0 :(得分:1)

  • 无法获得clang-format来向您显示哪些样式选项应用于代码的哪一部分。
  • 一个有用的链接是configurator,您可以在其中更改clang-format样式选项,并观察代码格式如何变化。它还可以让您查看clang-format不同版本的行为。
  • 但是,通常确实需要阅读documentation,并尝试许多不同的样式选项设置,以期找到适合您的设置。完成一段时间后,您将开始了解哪些样式选项会影响代码的哪些部分,因此确实会更容易。
  • 对于有关花括号中100个整数的特定问题,您描述的问题是由AlignAfterOpenBracket: DontAlignBinPackArguments: false的组合引起的。您不会在.clang-format文件中显示这些设置,但是它们必须在某处。也许您使用的.clang-format文件与您想象的不同?无论如何,解决方案是更改这两个设置之一或全部。