c++ - 如何在使用 clang 格式的访问修饰符后缩进

标签 c++ code-formatting clang-format

如何在访问修饰符后实现以下缩进:

class A{
public:
int a;
}

应该会导致

class A
{
    public:
        int a; // note the indentation
}

clang-format 只允许访问修饰符与 int a 在同一级别 AccessModifierOffset: 0 导致

class A
{
    public:
    int a;
}

最佳答案

在我工作的地方,我们偶然发现了同样的问题。由于 IndentWidth 参数控制无处不在的缩进(类、函数等),因此您试图实现的目标似乎是不可能的。在我看来,下一个最好的事情是保留 IndentWidth=4 并设置 AccessModifierOffset=-2。 这样你就得到了:

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

bool foo()
{
    return true;
}

关于c++ - 如何在使用 clang 格式的访问修饰符后缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41022954/

相关文章:

c++ - 禁止 Clang-Format 乱用评论

c++ - 为什么这个字符串会搜索并替换段错误?

c++ - 对象切片或 UB 风险?

c++ - 编译 proftpd 并在安装目录中包含库拷贝

intellij-idea - 谷歌 IntelliJ Java 风格 : changing 2-space indentation to 4-space indentation

c++ - 如何设置 clang-format 注释 pragmas 以便多行 doxygen 注释不会被触及?

c++ - 单元测试++和主要

c# - 使用 ReSharper 将代码格式化为一行

vb.net - 防止Visual Studio 2015删除VB.NET文件中的行继续字符(_)

在 if() while() for() 之后的语句周围添加 {}