考虑以下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"