Я получил следующий файл в формате .clang в корневом каталоге моего проекта:
---
AlignTrailingComments: true
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
BreakBeforeBinaryOperators: false
IndentWidth: 4
SortIncludes: false
NamespaceIndentation: All
...
Проблема возникает, когда я запускаю clang-format для своих заголовков c ++, классы становятся автоматически отступающими следующим образом:
Как видите, ярлыки public и private имеют отступ только двумя пробелами. Но то, что я пытаюсь достичь, - это результат ниже (отступ был изменен вручную):
Таким образом, сворачивание кода становится чем-то действительно приятным.
Как я мог настроить свой формат .clang для достижения этого эффекта? Если это невозможно, как бы вы исправили исходный код формата clang для достижения желаемого поведения?
РЕДАКТИРОВАТЬ:
Я безуспешно пытался использовать AccessModifierOffset, я использовал пример значений {-2,0,2,4} ниже:
Как видите, оператор внутри общедоступного блока не будет иметь правильного отступа.
РЕДАКТИРОВАТЬ2:
Я пробовал решение @Henrique Jung, и это определенно не то, о чем я прошу, если бы использовать эту комбинацию, результат был бы примерно таким:
И, как видите, содержимое внутри функций имеет отступ 8 пробелов вместо 4, что не очень хорошо.
РЕДАКТИРОВАТЬ3:
Несколько месяцев назад я назначил награду, так что я собираюсь попробовать еще раз, так как это определенно интересно. Если бы у меня было достаточно знаний об исходном коде формата clang, я бы попробовал, к сожалению, нет.