Пользовательская настройка стиля кодирования clang-формата
Я пытаюсь выяснить, как установить стиль кодирования для моего кода в формате clang. Я хочу сделать следующее:
- перерыв до и после символа наследования
:
- символ наследования
:
не имеет отступов - список наследования разрывается после запятой и выравнивается
- модификатор доступа не имеет отступа
- Однострочный комментарий 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