Можете ли вы установить длину строки clang-format?

clang-format разбивает мои строки на 80 столбцов. Есть ли способ сделать стоп-разрыв линий? В документации этот вопрос не рассматривается.


person Gregg    schedule 06.12.2017    source источник


Ответы (3)


Отвечающий за это параметр конфигурации называется ColumnLimit. Вы можете удалить ограничение столбца, установив для него значение 0.

ColumnLimit: 0
person Paweł Bylica    schedule 07.12.2017
comment
Это не работает. По умолчанию он установлен на 0, но по-прежнему разбивает строки шириной 80. - person Hasen; 14.05.2021
comment
Значение по умолчанию — 80, потому что clang-format по умолчанию использует предопределенный стиль LLVM. clang-format --dump-config | grep ColumnLimit ColumnLimit: 80 - person Paweł Bylica; 14.05.2021
comment
Нет, я просто установил его на vscode, и по умолчанию он был установлен на 0. По крайней мере, изменение его на 0 ничего не исправляет, поэтому ваше решение не работает. Я даже пытался перезагрузить vscode, но при 0 он по-прежнему разделяет каждую строку на 80 символов. - person Hasen; 16.05.2021

Найдите ColumnLimit (под заголовком «Настраиваемые параметры стиля формата») на этой страницы и вы найдете следующее утверждение:

ColumnLimit (без знака)

Ограничение столбца.

Ограничение столбца 0 означает, что нет ограничения столбца. В этом случае clang-format будет учитывать решения о разрыве строки ввода внутри операторов, если они не противоречат другим правилам.

Источник: Clang-Format Docs (v4.0.0 , последняя). Курсив добавлен для выделения.

Итак, как говорится в документах, установите...

ColumnLimit: 0

... и вы должны быть настроены.

person ahogen    schedule 29.12.2017
comment
Это не работает. По умолчанию он установлен на 0, но по-прежнему разбивает строки шириной 80. - person Hasen; 14.05.2021

У меня тоже была такая же проблема - я использую расширение C++ в VSCode и устанавливаю ColumnLimit: 0 по-прежнему обернутым на 80. Я обошел это, установив ColumnLimit на большое число; Я поставил ColumnLimit: 200 и все отлично работает.

person Michael Rice    schedule 12.06.2021