防止铛格式 - >操作

问题描述:

以下文件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打破->运营商的线路。

似乎没有是只在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