Пользовательская настройка стиля кодирования clang-формата

Я пытаюсь выяснить, как установить стиль кодирования для моего кода в формате clang. Я хочу сделать следующее:

  1. перерыв до и после символа наследования :
  2. символ наследования : не имеет отступов
  3. список наследования разрывается после запятой и выравнивается
  4. модификатор доступа не имеет отступа
  5. Однострочный комментарий doxygen имеет дополнительный отступ относительно однострочного отступа C++

Пример желаемого стиля кодирования:

class A
:
    public B,
    public C
{
public:

    // some comment
        //- doxygen comment
        ...
}

Любая помощь приветствуется.

1 ответ

Я довольно много экспериментировал с clang-форматом, и, хотя он имеет очень богатый набор опций, его можно настраивать лишь в некоторой степени (ограничиваясь доступным набором опций), и иногда достижение точной желаемой настройки иногда невозможно, особенно если оно нестандартное или "экзотическое".

В частности, я не смог найти варианты для:

  • нарушение после символа наследования
  • разрыв списка наследования после запятой
  • дополнительные отступы для комментариев Doxygen.

Для разрыва перед запятой наследования установите опцию BreakBeforeInheritanceComma: true в вашем .clang-format файл.

Для установки без отступа для модификатора доступа, установите AccessModifierOffset: <-N>, где N это ширина отступа, поскольку отступ по умолчанию для модификаторов доступа равен одному уровню. Например:

IndentWidth: 4
AccessModifierOffset: -4
Другие вопросы по тегам