我希望我的可见性修饰符(public
,protected
和private
)由clang格式缩进,后者当前将它们保留在与类声明相同的级别。我在转储默认格式选项时查找了indent
和visibility
,但无法找到任何内容。
答案 0 :(得分:9)
来自Clang-Format Style Options documentation:
AccessModifierOffset(int) 额外的缩进或访问修饰符,例如公共:
因此,请在.clang-format
添加相应的条目。例如,
AccessModifierOffset: 2
答案 1 :(得分:1)
如果您想为访问修饰符提供自己的缩进级别,您可以使用 IndentAccessModifiers: true
。这将为您提供如下所示的代码。
class my_class {
public:
my_class() = default;
};
使用 IndentAccessModifiers: false
,默认情况下您将获得完全不缩进的访问修饰符,并且类成员将仅在周围范围之外缩进一级。
class my_class {
public:
my_class() = default;
};
然后您可以使用 AccessModifierOffset
仅调整访问修饰符的对齐方式,而不会影响类成员的对齐方式。使用 IndentAccessModifiers: false
和 AccessModifierOffset: 1
,你会得到这个。
class my_class {
public:
my_class() = default;
};
对于 IndentAccessModifiers: true
,AccessModifierOffset
被忽略。
我相信所有理性的程序员都会同意这些选项中只有一个是可以远程接受的。虽然他们可能不会同意是哪一个。