8

Ich verwende ClangFormat.ClangFormat Stil für ReactiveCocoa

Ich möchte von diesem ich suchen

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

dieser

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

Welche ClangFormat Attribute sollten den Stil meiner ReactiveCocoa Code aktualisieren, dies zu erreichen?


Meine Aktuelle .clang-format Datei:

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

Ich suchte in etwas ähnlich vor etwa einem Jahr, aber es schien unmöglich, so gab ich auf :( –

Antwort

0

hinzufügen:

AllowAllParametersOfDeclarationOnNextLine True 

oder

BinPackParameters True 
+0

Keine der beiden funktionierte. –

+0

Das ist seltsam, weil ich dies sowohl auf XCode verwenden. "SubscribeNext" ist ein Parameter in Cocoa, welche IDE verwenden Sie und unter welchen Betriebssystemen? Es könnte Konflikte mit Ihren anderen Einstellungen haben. Versuchen Sie, die anderen nacheinander zu entfernen, bis Sie bekommen, was Sie wollen. – winux

0

Ich habe // vor dem ersten Betreiber dieses Ziel zu erreichen. Das clang-Format erkennt es als Kommentar und startet automatisch in der nächsten Zeile für den Rest der Anweisung. Sie müssen es nicht auf jede Zeile setzen, normalerweise ist die erste ausreichend, aber manchmal nicht (es hängt auch von anderen Einstellungen in Ihrer .clang-format Datei ab).

So sieht es ein bisschen wie:

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

ich diesen Trick verwenden Klirren-Format bricht den Code zu machen, wo ich will. Es ist ein bisschen hacky, könnte für einige sogar hässlich erscheinen, aber ich halte die Vorteile der erhöhten Lesbarkeit für wertvoller als gelegentliche leere Kommentaraussagen, so dass es meinen Augen nicht viel weh tut.