by Anonymous » 13 Apr 2025, 02:41
Ich verwende Clang-format , um meinen C-Code zu formatieren, und ich habe ein Verhalten geschlagen, das ich nicht herausfinden kann, wie man neu konfiguriert wird. Nehmen Sie diesen unformatierten Beispielcode: < /p>
Code: Select all
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);
In diesem Beispiel, obwohl ich aus AlignConsevivedEclarations aktivieren kann, stimmt Long_function nicht mit den ersten beiden kurzen Funktionen überein, da dies dazu führen würde, dass die Zeichengrenze übergeht. Ich habe jedoch BinpackArgumente festgelegt: False , und ich möchte, dass Clang-format die Funktionsargumente über die Nicht-Ausrichtung der Funktionserklärungen vorziehen. In meinem Beispiel würde das ungefähr so aussehen: < /p>
Code: Select all
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1,
int argument2,
int argument3,
int argument4);
< /code>
Aber das tatsächliche Ergebnis ist Folgendes: < /p>
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);
Ich habe versucht, die Strafe Einstellungen zu vermeiden, aber ohne Erfolg. Hier ist mein .clang-format als Referenz:
Code: Select all
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
Ich verwende Clang-format , um meinen C-Code zu formatieren, und ich habe ein Verhalten geschlagen, das ich nicht herausfinden kann, wie man neu konfiguriert wird. Nehmen Sie diesen unformatierten Beispielcode: < /p>
[code]LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);
[/code]
In diesem Beispiel, obwohl ich aus AlignConsevivedEclarations aktivieren kann, stimmt Long_function nicht mit den ersten beiden kurzen Funktionen überein, da dies dazu führen würde, dass die Zeichengrenze übergeht. Ich habe jedoch BinpackArgumente festgelegt: False , und ich möchte, dass Clang-format die Funktionsargumente über die Nicht-Ausrichtung der Funktionserklärungen vorziehen. In meinem Beispiel würde das ungefähr so aussehen: < /p>
[code]LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1,
int argument2,
int argument3,
int argument4);
< /code>
Aber das tatsächliche Ergebnis ist Folgendes: < /p>
LongTypeName short_function1(int argument1);
void short_function2(int argument1);
void long_function(int argument1, int argument2, int argument3, int argument4);
[/code]
Ich habe versucht, die Strafe Einstellungen zu vermeiden, aber ohne Erfolg. Hier ist mein .clang-format als Referenz:
[code]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
[/code]