я использую BreakBeforeBraces: Allman
в моем .clang-format
файле, но скобки в управляющих операторов (например, if
, for
, while
...) не оказывается на свою собственную линию.Перерыв после заявлений управления в звоном формате
// Currently:
void foo()
{
while(true) {
bar();
}
}
// What I want:
void foo()
{
while(true)
{
bar();
}
}
I've read that вы можете установить вложенные классы конфигурации для скобок в BraceWrapping
, но я could't выяснить правильный синтаксис YAML (и синтаксис JSON для возвышенного текста плагина), и не могли найти любой существующий пример.
Есть ли способ сделать это?
Когда я запускаю 'clang-format -i -style =" {BreakBeforeBraces: Allman} "test.cpp' на вашем примере, он помещает все фигурные скобки в свою линию, как вы ожидали бы для стиля Allman. Вы видите что-то еще? –
@RichardViney: вы правы ... Я сделал несколько тестов и выяснил, что 'AllowShortLoopsOnASingleLine: true' является виновником этой проблемы. Установка его на 'false' делает работу форматирования по назначению. Это ошибка? –
Нет, я не думаю, что это ошибка, на самом деле есть другие варианты стиля, такие как 'AllowShortFunctionsOnASingleLine', которые при использовании с' BreakBeforeBraces: Allman' также позволят скобкам иногда не всегда иметь строку для себя при определенных условиях , Если вам нужны ультра-строгие брекеты Allman, вам также нужно будет проверить эти другие стили. –