【问题标题】:clang-format show which style option is applied to the codeclang-format 显示将哪种样式选项应用于代码
【发布时间】:2020-02-01 15:03:55
【问题描述】:

我正在使用 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

【问题讨论】:

  • 我认为没有一种简单的方法可以确定哪条规则破坏了您的格式。您是否考虑过添加 // clang-format off // clang-format on 评论对并继续前进?

标签: c++ clang-format


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

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    相关资源
    最近更新 更多