Ответ 1
К сожалению, я имею доступ только к clang-format
3.8.0 ( "clang-format version 3.8.0 (tags/RELEASE_380/final)
" ), поэтому я не могу легко тестировать версию 3.4.
Там есть руководство для последней версии clang-format
здесь, что я не знаю, нашли ли вы это или нет. Он ссылается на список Параметры стиля стиля Clang. Там есть опция стиля, которая перекликается с названием вашего вопроса: AlignAfterOpenBracket: AlwaysBreak
, всегда ломается после открытой скобки, если параметры не помещаются в одну строку.
Чтобы использовать это, поместите в файл ~/.clang-format
следующее:
AlignAfterOpenBracket: AlwaysBreak
После некоторого тестирования кажется, что он делает именно то, что вы хотели бы сделать, почти.
Он форматирует
SomeCall(aaa, bbb, ccc);
а
SomeCall(
aaa, bbb,
ccc);
если aaa, bbb, ccc
не помещается в одну строку. Он не будет разрываться между aaa
и bbb
, пока aaa
также не будет слишком длинным, и в этом случае bbb
и ccc
будут находиться в одной строке. То есть он прерывается после открытия (
, но затем пытается заполнить строки. Он не разбивается автоматически на все запятые.
Рассматривая соответствующую страницу для clang-format
3.4, похоже, что этого параметра конфигурации, к сожалению, нет. Это дает вам два варианта:
- Перейдите к более новой версии
clang-format
. - Не нужно.