Как получить выровненные в регистр операторы в строчке, используя clang-формат
Я бы хотел, чтобы clang-format форматировался как:
switch (x)
{
case long_name: return 1;
case sn: return 2;
}
Опция AllowShortCaseLabelsOnASingleLine переводит их в одну строку,
но я не нашел способа выровнять утверждения aligned.
Ответ 1
На данный момент невозможно выполнить то, что вы просите, используя ClangFormat.
Официальное объяснение, почему это так:
Каждый дополнительный вариант стиля увеличивает стоимость проекта в формате clang. Некоторые из этих затрат влияют на саму разработку clang-формата, так как мы необходимо убедиться, что любая заданная комбинация опций работает и Новые функции никоим образом не нарушают ни одну из существующих опций. Там это также затраты для конечных пользователей, так как варианты становятся менее доступными и люди должны думать и принимать решения о вариантах, которые они не действительно волнует.
Цель проекта clang-format заключается в поддержке ограниченный набор стилей действительно хорошо, в отличие от поддержки каждого единый стиль, используемый кодовой базой где-то в дикой природе. [...]
Единственный способ сделать что-то подобное - это
Предложите вариант стиля разработчикам;
Подождите, пока не будет добавлена нужная опция стиля;
Используйте альтернативу ClangFormat, которая способна выровнять операторы.