如何让clang-format不加入多行调用到一行?

时间:2015-08-25 15:51:27

标签: c++ coding-style clang-format

例如,此代码段:

{
    FooBar processor;

    processor
        .process(obj1)
        .process(someString)
        .process(anotherParameter);
}

始终被翻译为:

{
    FooBar processor;

    processor.process(obj1).process(someString).process(anotherParameter);
}

因此,如果我需要修改中间的链,它从VCS的角度来看变得不那么可读并且不友好。

有没有办法阻止此类clang-format行为?

1 个答案:

答案 0 :(得分:3)

在当前版本(clang-format 3.8)中,我所知道的唯一好方法是:

{
    FooBar processor;

    processor //
        .process(obj1) //
        .process(someString) //
        .process(anotherParameter);
}

{
    FooBar processor;

    // clang-format off
    processor
        .process(obj1)
        .process(someString)
        .process(anotherParameter);
    // clang-format on
}