美文网首页
ClangFormat语法1.0

ClangFormat语法1.0

作者: 君赏 | 来源:发表于2015-12-07 17:38 被阅读1170次

    AccessModifierOffset(Int类型)

    访问修饰符偏移量

    AccessModifierOffset: 0

        @public
        NSMutableArray *_cellHeightArray;
    

    AccessModifierOffset: 4

            @public
        NSMutableArray *_cellHeightArray;
    

    AlignEscapedNewlinesLeft (bool)

    如果是true就是左对齐,如果是false就是右对齐

    true

    if (foo && // Some comment
    bar) {
        baz();
    }
    
    void foo() {
        someFunction();
        someOtherFunction();
    }
    

    false

    if (foo && // Some Comment
        bar) {
            baz();
    }
    
    void foo() {
            someFunction();
      someOtherFunction();
    }
    

    AlignTrailingComments (bool)

    注释的对齐方式 如果是true将左对齐,如果是false不会对齐

    true

    // Unrelated comment
    void someFunction() {
        doWork();     // Does something
        doMoreWork(); // Does something else
    }
    

    false

    // Unrelated comment
    void someFunction() {
       doWork(); // Does something
       doMoreWork(); // Does something else
    }
    

    AllowAllParametersOfDeclarationOnNextLine (bool)

    如果TRUE就让参数上下对齐 否则将是默认

    true

    someFunction(foo,
                 bar,
                 baz);
    

    false

    someFunction(foo, bar, baz);
    

    AllowShortFunctionsOnASingleLine (bool)

    是否允许方法单行

    true

    int f() { return 0; }
    

    false

    int f() {
        return 0;
    }
    

    AllowShortIfStatementsOnASingleLine (bool)

    是否允许if单行

    true

    void foo() {
        if (!someVar) return;
        if (someOtherVar) return;
    
        if (doingSomething) {
            // Unrelated
        }
    }```
    ##false
    
    

    void foo() {
    if (!someVar) {
    return;
    }
    if (someOtherVar) {
    return;
    }

    if (doingSomething) {
        // Unrelated
    }
    

    }

    
    #AllowShortLoopsOnASingleLine (bool)
    
    >是否允许循环单行
    
    ##true
    
    

    void foo() {
    // Eat some cycles
    int i = 10000;
    while(i>0) i--;
    }

    
    ##false
    
    

    void foo() {
    // Eat some cycles
    int i = 10000;
    while(i>0) {
    i--;
    }
    }

    #AlwaysBreakBeforeMultilineStrings
    
    >在多行字符串之前总是打破
    
    ##AlwaysBreakBeforeMultilineStrings: true or false(没找到实例)
    
    
        NSString *string = @"deqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwde"
                           @"qwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeqwdeq"
                           @"wdeqwdeqw";
    
    
    
    
    
    #AlwaysBreakTemplateDeclarations (bool)
    
    >总是打破模板声明
    
    #BinPackParameters (bool)
    
    >如果为 false,函数调用或函数定义的参数将会都是在同一行上或者会有一行每个。
    
    BreakBeforeBinaryOperators (bool)
    
    >如果为 true,则将换行符后放置二元运算符。
    
    ##true
    
    

    bool foo() {
    bool value = someVal
    + anotherVal
    + thirdVal
    == alternateValue
    * fooVar
    + barVar
    && anotherCondition
    > smallerCondition
    * powerMultiplier;

    if (someVal
        + anotherVal
        * thirdVal
        == finalVlaue) {
        // ...
    }
    
    if (someVal) {
    
    } else if (anotherVal && thirVal
                            > smallerVal)
    {
        // ...
    }
    
    return foo::bar::baz
           == foo::bar::bop;
    

    }

    
    ##false
    
    

    bool foo() {
    bool value = someVal + anotherVal + thirdVal == alternateValue * fooVar + barVar && anotherCondition > smallerCondition * powerMultiplier;

    if (someVal + anotherVal * thirdVal == finalVlaue) {
        // ...
    }
    
    if (someVal) {
    
    } else if (anotherVal && thirVal > smallerVal)
    {
        // ...
    }
    
    return foo::bar::baz == foo::bar::bop;
    

    }

    
    #BreakBeforeBraces (BraceBreakingStyle)
    
    >大括号打破使用的样式。
    
    可能的值:
    `BS_Attach` (在配置: 附加) 总是将大括号附加到上下文。
    `BS_Linux` (在配置: Linux) 像附加,但是休息前大括号对功能、 命名空间和类定义。
    `BS_Stroustrup` (在配置: Stroustrup) 像附加,但是在函数定义之前休息。
    `BS_Allman` (在配置: 奥尔曼) 总是休息前大括号。
    `BS_GNU` (在配置: GNU) 总是打破前大括号和对大括号内的控制语句,而不是那些的类、 函数或其他定义中添加额外的缩进级别。
    
    #BreakBeforeTernaryOperators (bool)
    
    >如果为 true,则将换行符后放置三元运算符。
    
    #BreakConstructorInitializersBeforeComma (bool)
    
    >总是打破在逗号之前的构造函数初始值设定项和对齐以冒号逗号。
    
    #ColumnLimit (unsigned)
    
    >每一行限制字符的长度
    
    #CommentPragmas (std::string)
    
    >描述具有特殊的意义,不应分成行或以其他方式改变了评论的正则表达式。
    
    #ConstructorInitializerAllOnOneLineOrOnePerLine (bool)
    
    >如果在构造函数初始值设定项不适合在一条线,把每个初始值设定项放在自己的行上。

    相关文章

      网友评论

          本文标题:ClangFormat语法1.0

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