clang格式的自定义编码样式设置

时间:2018-01-16 19:05:11

标签: clang-format

我试图弄清楚如何使用clang-format设置我的代码的编码样式。我想做的是如下:

  1. 在继承符号:
  2. 之前和之后中断
  3. 继承符号:没有缩进
  4. 继承列表在逗号后对齐并已对齐
  5. 访问修饰符没有缩进
  6. doxygen单行注释具有相对于C ++单行缩进的附加缩进
  7. 所需的编码样式示例:

    class A
    :
        public B,
        public C
    {
    public:
    
        // some comment
            //- doxygen comment
            ...
    }
    

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我正在尝试使用clang-format,虽然它有一组非常丰富的options,但它只能在某种程度上自定义(受可用的选项集限制),并且有时无法实现精确的定制,特别是如果它是非标准或“异国情调”。

具体来说,我找不到以下选项:

  • 在继承符号
  • 之后打破
  • 逗号后的继承列表中断
  • doxygen评论的额外缩进。

要在继承逗号之前破解,请在BreakBeforeInheritanceComma: true文件中设置选项.clang-format

如果没有为访问修饰符设置缩进,请设置AccessModifierOffset: <-N>,其中N是缩进宽度,因为访问修饰符默认缩进是一个级别。例如:

IndentWidth: 4
AccessModifierOffset: -4