如何让 clang-format 不将多行调用合并为一行?

How to get clang-format to not join multiline calls into one line?

例如,这个代码片段:

{
    FooBar processor;

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

总是翻译成这样:

{
    FooBar processor;

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

因此,如果我需要在中间修改链,从 VCS 的角度来看,它的可读性会降低并且不友好。

有没有办法防止这种clang-format行为?

在当前版本 (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
}