我如何告诉 clang-format 缩进可见性修饰符?
How can I tell clang-format to indent visibility modifiers?
我希望我的可见性修饰符(public
、protected
和 private
)由 clang-format 缩进,而 clang-format 目前将它们保留在与 [=17= 相同的级别] 宣言。我在默认格式选项的转储中查找了 indent
和 visibility
,但找不到任何内容。
来自Clang-Format Style Options documentation:
AccessModifierOffset (int)
The extra indent or outdent of access modifiers, e.g. public:.
因此,将适当的条目添加到您的 .clang-format
。例如,
AccessModifierOffset: 2
如果你想给访问修饰符自己的缩进级别,你可以使用 IndentAccessModifiers: true
。这将为您提供如下所示的代码。
class my_class {
public:
my_class() = default;
};
使用 IndentAccessModifiers: false
,默认情况下您将获得根本不缩进的访问修饰符,并且 class 成员将仅缩进超出周围范围的一级。
class my_class {
public:
my_class() = default;
};
然后您可以使用 AccessModifierOffset
仅调整访问修饰符的对齐方式,而不会影响 class 成员的对齐方式。使用 IndentAccessModifiers: false
和 AccessModifierOffset: 1
,你会得到这个。
class my_class {
public:
my_class() = default;
};
与 IndentAccessModifiers: true
一起,AccessModifierOffset
被忽略。
我相信所有通情达理的程序员都会同意,这些选项中只有一个是可以接受的。虽然他们可能不会就它是哪一个达成一致。
我希望我的可见性修饰符(public
、protected
和 private
)由 clang-format 缩进,而 clang-format 目前将它们保留在与 [=17= 相同的级别] 宣言。我在默认格式选项的转储中查找了 indent
和 visibility
,但找不到任何内容。
来自Clang-Format Style Options documentation:
AccessModifierOffset (int) The extra indent or outdent of access modifiers, e.g. public:.
因此,将适当的条目添加到您的 .clang-format
。例如,
AccessModifierOffset: 2
如果你想给访问修饰符自己的缩进级别,你可以使用 IndentAccessModifiers: true
。这将为您提供如下所示的代码。
class my_class {
public:
my_class() = default;
};
使用 IndentAccessModifiers: false
,默认情况下您将获得根本不缩进的访问修饰符,并且 class 成员将仅缩进超出周围范围的一级。
class my_class {
public:
my_class() = default;
};
然后您可以使用 AccessModifierOffset
仅调整访问修饰符的对齐方式,而不会影响 class 成员的对齐方式。使用 IndentAccessModifiers: false
和 AccessModifierOffset: 1
,你会得到这个。
class my_class {
public:
my_class() = default;
};
与 IndentAccessModifiers: true
一起,AccessModifierOffset
被忽略。
我相信所有通情达理的程序员都会同意,这些选项中只有一个是可以接受的。虽然他们可能不会就它是哪一个达成一致。