从新行开始每个<<,C++ 使用 clang 格式



考虑以下C++代码:

void foo() {
std::cout << "Hello, "
<< "world!"
<< std::endl;
}

当我在没有任何样式选项的情况下运行clang-format时,我得到的是:

void foo() {
std::cout << "Hello, "
<< "world!" << std::endl;
}

如何获得以下结果(每个<<在其自己的行上开始(?

void foo() {
std::cout << "Hello, "
<< "world!"
<< std::endl;
}

一个建议是用//:终止每条线路

void foo() {
std::cout << "Hello, " //
<< "world!" //
<< std::endl; //
}

但是,只使用样式选项就可以实现这样的缩进吗?

https://reviews.llvm.org/D80950解释了它为什么这么做。最初编写clang格式时,决定如果文字字符串彼此相邻,即

os << "A" << "B"

它们将被放在一条单独的线上

os << "A" 
<< "B"

但对于其他任何事情,他们都不会

os << "A" << i << "B"

这真的无法控制。在每个流媒体运营商之后中断可能被认为太过分了。

os << "A"
<< i
<< "B"

相关内容

最新更新