2014-09-23 9 views
11

ich den folgenden Code haben, zum Beispiel:Wie man einen objective-c Block mit Clang-Format formatiert?

[cardRegistrationVC setCancelBlock:^{ 
    [weakSelf.navigationController popViewControllerAnimated:YES]; 
}]; 

Als ich Klirren-Format auf sie anzuwenden, es verwandelt sich in:

[cardRegistrationVC setCancelBlock:^{ [weakSelf.navigationController popViewControllerAnimated:YES]; }]; 

Wie Sie, Code innerhalb des Blocks auf das erscheint sehen gleiche Linie. Aber ich sollte immer auf einer neuen Linie sein.

Wie wird das Clang-Format richtig eingestellt? Meine folgende Einstellungsdatei:

BasedOnStyle: LLVM 
AllowShortIfStatementsOnASingleLine: false 
AllowShortBlocksOnASingleLine: false 
AllowShortFunctionsOnASingleLine: false 
AllowShortLoopsOnASingleLine: false 
AlwaysBreakBeforeMultilineStrings: false 
IndentCaseLabels: true 
ColumnLimit: 120 
ObjCSpaceAfterProperty: true 
KeepEmptyLinesAtTheStartOfBlocks: true 
PenaltyBreakString: 1000000 
SpacesInContainerLiterals: false 

Antwort

1

Schließlich landete ich Blöcke wie das Schreiben auf:

[cardRegistrationVC setCancelBlock:^{ 
    [weakSelf.navigationController popViewControllerAnimated:YES]; 

}]; 

Leerzeile am Ende ok funktioniert. Oder müssen Sie die Spaltengrenze deaktivieren:

#ColumnLimit: 120 
8

Nur diese Datei (.clang-Format) auf die Einstellung hinzuzufügen.

ObjCBlockIndentWidth: 4 

Dann wird der Block dies mögen.

[cardRegistrationVC setCancelBlock:^{ 
    [weakSelf.navigationController popViewControllerAnimated:YES]; 
}]; 

Hoffnung helfen Ihnen.

Zugleich würde Ich mag add:

UseTab: Never 
IndentWidth: 4 
Verwandte Themen