Мы сейчас находимся в процессе форматирования нашей кодовой базы с clang-format
. Мы нашли ситуацию, когда по какой-то причине оператор потока на std::cout
перемещается на следующую строку, если присутствуют два последовательных литерала строки. Помещение переменной между двумя строковыми литералами приводит к тому, что формат clang не меняет формат. Что нужно изменить в файле .clang-format
, чтобы избежать этого?
int main()
{
std::cout << "something" << "something" << std::endl;
}
становится
int main()
{
std::cout << "something"
<< "something" << std::endl;
}
, в то время как
int main()
{
int a = 0;
std::cout << "something" << a << "something" << std::endl;
}
остается нетронутым. Обратите внимание, что, хотя этот последний фрагмент шире, он не разбит на несколько строк, в то время как более короткий фрагмент выше.
Это с установщиком LLVM 9.0.0 Windows и воспроизводится с помощью файл конфигурации по умолчанию.