2014-09-23 10 views
11

Ho il seguente codice, ad esempio:Come formattare il blocco obiettivo-c con il formato clang?

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

Quando applico clang formato su di esso, si trasforma in:

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

Come si può vedere, appare il codice all'interno del blocco sulla stessa linea. Ma dovrei essere sempre su una nuova linea.

Come impostare il formato clang corretto? limare le seguenti impostazioni:

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

risposta

1

Finalmente ho finito per scrivere blocchi in questo modo:

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

}]; 

linea vuota alla fine funziona bene. o si deve disattivare limite di colonna:

#ColumnLimit: 120 
8

Basta aggiungere questo per il file di impostazione (.clang formato).

ObjCBlockIndentWidth: 4 

Quindi il blocco piacerà a questo.

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

La speranza ti aiuta.

Allo stesso tempo, vorrei aggiungere:

UseTab: Never 
IndentWidth: 4