Klangformat: Bevorzugen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Klangformat: Bevorzugen

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

Top