2017-06-20 55 views
1

以下文件test.cpp防止鐺格式 - >操作

int func() { 
    aaaaaaaaaaa = bbbbbbbb->cccccc(SomeNamespace::Function(dddddddd?"eeeeeeeee":"fffffffffff")).gggggggggg(); 
} 

以下面的方式格式化clang-format(我嘗試不同的風格):

$ for s in LLVM Google Chromium Mozilla WebKit; do clang-format -style="{BasedOnStyle: $s, ColumnLimit: 80}" test.cpp; done 
int func() { 
    aaaaaaaaaaa = bbbbbbbb 
        ->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee" 
                   : "fffffffffff")) 
        .gggggggggg(); 
} 
int func() { 
    aaaaaaaaaaa = bbbbbbbb 
        ->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee" 
                   : "fffffffffff")) 
        .gggggggggg(); 
} 
int func() { 
    aaaaaaaaaaa = bbbbbbbb 
        ->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee" 
                   : "fffffffffff")) 
        .gggggggggg(); 
} 
int 
func() 
{ 
    aaaaaaaaaaa = 
    bbbbbbbb 
     ->cccccc(SomeNamespace::Function(dddddddd ? "eeeeeeeee" : "fffffffffff")) 
     .gggggggggg(); 
} 
int func() 
{ 
    aaaaaaaaaaa = bbbbbbbb 
         ->cccccc(SomeNamespace::Function(
          dddddddd ? "eeeeeeeee" : "fffffffffff")) 
         .gggggggggg(); 
} 

我不知道如果有一個選項可以防止clang-format打破->運營商的線路。

回答

1

似乎沒有是隻在list of clang-format options影響operator->任何選項,但你總是可以禁用clang-format的違規行:

int func() { 
    // clang-format off 
    aaaaaaaaaaa = bbbbbbbb->cccccc(SomeNamespace::Function(dddddddd?"eeeeeeeee":"fffffffffff")).gggggggggg(); 
    // clang-format on 
} 

這將禁用完全格式化,所以一些人工干預可能是必要的如果其他格式的規則是所需的線路。

+0

謝謝@You,但對我來說並不是非常有用,因爲我試圖對一個相當大的代碼庫進行分類。 – martemiev