首页 > 解决方案 > clang-format 显示将哪种样式选项应用于代码

问题描述

我正在使用 clang-format(内置 VSCode)来格式化我的 CPP 代码,并且我的代码中有这样的内容(格式化之前):

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

花括号内有 100 个整数。

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

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

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

有什么方法可以查看适用于代码的样式选项(可能是调试/详细信息或其他信息)?还是我只能看到clang格式的文档,想尽一切办法找到控制它的样式选项?

谢谢!

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

---
Language: Cpp
BasedOnStyle: Google

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

标签: c++clang-format

解决方案


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

推荐阅读