8

Używam ClangFormat.Styl ClangFormat dla ReactiveCocoa

Chciałbym zaktualizować styl mojego kodu ReactiveCocoa z tego

[[self.myService indexCase] subscribeNext:^(id response) { 
     DDLogDebug(@"response : %@", response); 
    } 
     error:^(NSError *error) { 
      [self.dataManager sendError:error]; 
     }]; 

do tego

[[self.myService indexCase] 
    subscribeNext:^(id response) { 
     DDLogDebug(@"response : %@", response); 
    } error:^(NSError *error) { 
      [self.dataManager sendError:error]; 
     }]; 

Co ClangFormat atrybuty powinien być patrząc na to osiągnąć?


Moja Aktualny .clang-format file:

BasedOnStyle: WebKit 
AlignTrailingComments: true 
AllowShortFunctionsOnASingleLine: false 
AllowShortIfStatementsOnASingleLine: true 
BreakBeforeBraces: Linux 
ColumnLimit: 120 
IndentCaseLabels: true 
IndentWidth: 4 
KeepEmptyLinesAtTheStartOfBlocks: false 
MaxEmptyLinesToKeep: 2 
ObjCSpaceAfterProperty: true 
ObjCSpaceBeforeProtocolList: true 
PointerBindsToType: false 
SpacesBeforeTrailingComments: 1 
TabWidth: 4 
UseTab: Never 
+0

Szukałem w coś podobnego około rok temu, ale wydawało się to niemożliwe, więc dałem się :( –

Odpowiedz

0

Dodaj to:

AllowAllParametersOfDeclarationOnNextLine True 

lub

BinPackParameters True 
+0

Żadna z nich pracował. –

+0

To dziwne, bo używam to zarówno na XCode. „SubscribeNext” jest parametrem w kakao: jakiego używacie IDE i jakiego systemu operacyjnego mogło to kolidować z innymi ustawieniami, spróbuj usunąć pozostałe po jednym, dopóki nie otrzymasz tego, czego chcesz. – winux

0

kładę // przed pierwszym operatorem, aby to osiągnąć. format-clang wykrywa go jako komentarz i automatycznie zaczyna się od następnej linii dla pozostałej części instrukcji. Nie musisz umieszczać go w każdym wierszu, zwykle pierwszy jest wystarczający, ale czasami nie (zależy to również od innych ustawień w pliku .clang-format).

Tak to wygląda trochę jak:

[[self.myService indexCase] // 
    subscribeNext:^(id response) { 
     DDLogDebug(@"response : %@", response); 
    } error:^(NSError *error) { 
     [self.dataManager sendError:error]; 
    }]; 

używam tej sztuczki, aby dzyń-Format złamać kod, gdzie chcę. Jest to trochę hacky, może niektórym wydawać się brzydkie, ale uważam, że korzyści płynące ze zwiększonej czytelności są cenniejsze niż okazjonalne, puste komentarze, więc nie bolą mnie oczy.

Powiązane problemy