15

我希望我的可见性修饰符 ( public,protectedprivate) 由当前使它们与类声明处于同一级别的 clang-format 缩进。我已经寻找indentvisibility查看了默认格式选项的转储,但找不到任何东西。

4

2 回答 2

22

Clang-Format Style Options 文档

AccessModifierOffset (int) 访问修饰符的额外缩进或外缩,例如 public:。

因此,将适当的条目添加到您的.clang-format. 例如,

AccessModifierOffset: 2
于 2015-03-22T21:49:52.193 回答
2

如果您想为访问修饰符本身赋予其自己的缩进级别,您可以使用IndentAccessModifiers: true. 这将为您提供如下所示的代码。

class my_class {
  public:
    my_class() = default;
};

使用IndentAccessModifiers: false,默认情况下,您将获得根本不缩进的访问修饰符,并且类成员将仅在周围范围之外缩进一级。

class my_class {
public:
  my_class() = default;
};

然后,您可以使用AccessModifierOffset仅调整访问修饰符的对齐方式,而不影响类成员的对齐方式。使用IndentAccessModifiers: falseand AccessModifierOffset: 1,你会得到这个。

class my_class {
 public:
  my_class() = default;
};

,IndentAccessModifiers: trueAccessModifierOffset忽略。

我相信所有理性的程序员都会同意,这些选项中只有一个是可以接受的。尽管他们可能不会就它是哪一个达成一致。

于 2021-04-08T06:10:12.123 回答