美文网首页
clang-format配置

clang-format配置

作者: 菜菜子MJ | 来源:发表于2019-08-05 11:40 被阅读0次

    在项目根目录下(workroot)添加文件.clang-format

    
    # 基于哪个配置文件
    BasedOnStyle: Google
    # 访问说明符的偏移(public private)
    AccessModifierOffset: -4
    # 括号之后,水平对齐参数: Align DontAlign AlwaysBreak
    AlignAfterOpenBracket: AlwaysBreak
    # 水平对齐二元和三元表达式的操作数
    AlignOperands: false
    # 允许函数声明的所有参数在放在下一行
    AllowAllParametersOfDeclarationOnNextLine: false
    # 允许短的块放在同一行
    AllowShortBlocksOnASingleLine: false
    # 允许短的case标签放在同一行
    AllowShortCaseLabelsOnASingleLine: false
    # 允许短的函数放在同一行: None, InlineOnly(定义在类中), Empty(空函数), Inline(定义在类中,空函数), All
    AllowShortFunctionsOnASingleLine: Empty
    # 是否允许短if单行 If true, if (a) return; 可以放到同一行
    AllowShortIfStatementsOnASingleLine: false
    # 允许短的循环保持在同一行
    AllowShortLoopsOnASingleLine: false
    # 总是在返回类型后换行: None, All, TopLevel(顶级函数,不包括在类中的函数),
    #   AllDefinitions(所有的定义,不包括声明), TopLevelDefinitions(所有的顶级函数的定义)
    AlwaysBreakAfterReturnType: None
    # 总是在template声明后换行
    AlwaysBreakTemplateDeclarations: true
    # false表示函数实参要么都在同一行,要么都各自一行
    BinPackArguments: false
    # false表示所有形参要么都在同一行,要么都各自一行
    BinPackParameters: false
    # 在构造函数的初始化列表的冒号之后换行
    BreakConstructorInitializers: AfterColon
    # 每行字符的限制
    ColumnLimit: 80
    # 构造函数的初始化列表的缩进宽度
    ConstructorInitializerIndentWidth: 8
    # 延续的行的缩进宽度
    ContinuationIndentWidth: 8
    # 继承最常用的指针和引用的对齐方式
    DerivePointerAlignment: true
    # true 自动检测补全命名空间尾部的大括号
    FixNamespaceComments: true
    # case 是否缩进一级
    IndentCaseLabels: false
    # 缩进宽度
    IndentWidth: 4
    # 连续最大空行数
    MaxEmptyLinesToKeep: 1
    # 命名空间的缩进: None, Inner(缩进嵌套的命名空间中的内容), All
    NamespaceIndentation: None
    PenaltyBreakAssignment: 2
    # 在call(后对函数调用换行的处罚
    PenaltyBreakBeforeFirstCallParameter: 1
    # 在一个注释中引入换行的处罚
    PenaltyBreakComment: 500
    # 第一次在<<前换行的处罚
    PenaltyBreakFirstLessLess: 120
    # 在一个字符串字面量中引入换行的处罚
    PenaltyBreakString: 1000
    # 对于每个在行字符数限制之外的字符的处罚
    PenaltyExcessCharacter: 1000000
    # 将函数的返回类型放到它自己的行的处罚
    PenaltyReturnTypeOnItsOwnLine: 400
    # 指针和引用的对齐: Left(int* a;), Right(int *a;), Middle(int * a;)
    PointerAlignment: Left
    # 允许排序#include,首字母排序
    SortIncludes: false
    
    

    MAC 对文件执行格式化 option+command+L

    个人习惯修改以下配置

    # 继承最常用的指针和引用的对齐方式
    DerivePointerAlignment: false
    # 允许排序#include,首字母排序
    SortIncludes: true
    # 在构造函数的初始化列表的逗号前换行
    BreakConstructorInitializersBeforeComma: true
    # 在构造函数的初始化列表的冒号之后换行
    BreakConstructorInitializers: BeforeColon
    # 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行)
    BreakBeforeBinaryOperators: NonAssignment
    

    相关文章

      网友评论

          本文标题:clang-format配置

          本文链接:https://www.haomeiwen.com/subject/ejgpdctx.html