Clang-Format: предпочитайте выравнивание декларации по сравнению с хранением декларации на одной линииC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Clang-Format: предпочитайте выравнивание декларации по сравнению с хранением декларации на одной линии

Сообщение Anonymous »

Я использую формат Clang для форматирования моего C-кода, и я нашел поведение, как я не могу понять, как перенастроить. Возьмите этот неформатированный пример кода: < /p>
LongTypeName 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-формата предпочесть нарушение аргументов функции, а не объявления функций выравнивания. В моем примере это будет выглядеть примерно так: < /p>
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1,
int argument2,
int argument3,
int argument4);
< /code>
Но фактический результат заключается в следующем: < /p>
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);

Я пытался возиться с настройками штрафа , но безрезультатно. Вот мой .clang-format для справки:
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»