2010-04-10 8 views
10

So che questo è un problema abbastanza contestato tra i programmatori, ma quando lo sviluppo mi piace il mio IDE per posizionare la parentesi graffa aperta sotto il metodo/interfaccia/dichiarazione di controllo, a scopo illustrativo: -Come posso configurare Xcode per mettere '{' dove lo voglio nei file generati

Questo è come Xcode genera automaticamente metodi scheletro con il {alla fine: -

-(void) isTrue:(BOOL)input { 
    if(input) { 
     return YES; 
    } 
    else { 
     return NO; 
    } 
} 

Questo è come mi piace per stendere il mio codice (che credo sia chiamato Allman style): -

-(void) isTrue:(BOOL)input 
{ 
    if(input) 
    { 
     return YES; 
    } 
    else 
    { 
     return NO; 
    } 
} 

Mi stavo chiedendo se c'è qualche interruttore di configurazione in Xcode per abilitare questo stile di sviluppo? È davvero fastidioso quando si digitano le dichiarazioni if/else in quanto tende a completare automaticamente la clausola else con lo { alla fine della linea che sembra semplicemente stupida se ti piace sviluppare con loro sotto.

O sono irragionevole? Objective-C dovrebbe rispettare uno standard definito da Apple?

risposta

2

Dopo digerire le informazioni utili da Whirlwind sopra (grazie), il frammento risultante (basta tagliare e incollare nel terminale) è:

defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\ \ n" PreMethodDeclSpacing ""

backslash stupido citando. Quando si digita sul terminale, ci devono essere DUE esattamente DUE backslash nel separatore di blocchi.

+0

Sì, mi sono confuso, ho fatto qualcosa di simile a quanto sopra ma ho usato il flag -dict-add per ogni coppia chiave/valore – djhworld

0

Anche con queste impostazioni, non sembra funzionare con i modelli. Se si imposta questo e poi digita "init" in un file .m si ottiene:

- (id)init 
{ 
    self = [super init]; 
    if (self) { 
    <#initializations#> 
    } 
    return self; 
} 

nota il "se (auto) {" linea.

0

Credo che "defaults write com.apple.Xcode" non funziona sulle ultime versioni di Xcode (7.x)

Ecco le soluzioni che conosco:

  1. Snippet Edit - questo piccolo programma permetterà di modificare frammenti di codice di Xcode di default. Pertanto, sarà possibile aprire le parentesi graffe dalla nuova riga nel numero if, for, while, ecc. Tuttavia, ciò non consente di modificare il rientro del blocco.

  2. Uncrustify - questo potrebbe risolvere anche il tuo problema, ma non sembra facile da configurare. E formatta solo il codice dopo il è già stato scritto, invece di formattare 'on the go'.

Problemi correlati