Я использую clang-format для форматирования кода C, и столкнулся с поведением, которое не могу понять, как перенастроить. Возьмем этот пример кода:
void short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);
В этом примере, несмотря на то, что я включаю AlignConsecutiveDeclarations, long_function не выравнивается с первыми двумя короткими функциями, потому что это приведет к перемещению по символу предел. Однако я установил BinPackArguments: false, и мне бы хотелось, чтобы clang-format предпочитал разбивать аргументы функции, а не выравнивать объявления функций. В моем примере это будет выглядеть примерно так:
void short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1,
int argument2,
int argument3,
int argument4);
Я пробовал менять настройки штрафа, но безрезультатно. Вот мой формат .clang для справки:
BasedOnStyle: LLVM
AllowAllArgumentsOnNextLine: false
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Stroustrup
BreakBeforeBinaryOperators: All
BreakInheritanceList: AfterComma
BreakTemplateDeclarations: Yes
AlignAfterOpenBracket: Align
AllowAllParametersOfDeclarationOnNextLine: false
AlignConsecutiveAssignments: AcrossEmptyLines
AlignConsecutiveDeclarations: AcrossEmptyLines
AllowShortIfStatementsOnASingleLine: AllIfsAndElse
AllowShortLoopsOnASingleLine: true
AllowShortFunctionsOnASingleLine: false
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-a-single
Формат Clang: предпочитаете выравнивание объявлений, а не сохранение объявления в одной строке. ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как настроить Clang-формат для выравнивания встроенных объявлений функций
Anonymous » » в форуме C++ - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как настроить Clang-формат для выравнивания встроенных объявлений функций
Anonymous » » в форуме C++ - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-