Domanda

Sono un principiante assoluto di Xcode/Objective-C/Cocoa, ma sto imparando velocemente e sto iniziando davvero a divertirmi nel prendere confidenza con un nuovo linguaggio, piattaforma e paradigma.

Una cosa è però, avendo usato Visual Studio con R# per così tanto tempo sono stato un po' viziato con gli strumenti di codifica come refactoring e completamento ecc. E per quanto ne so Xcode ha un supporto integrato abbastanza limitato per questo cose.

In quella nota, qualcuno sa se sono disponibili componenti aggiuntivi o altro per l'ambiente Xcode che aggiungono aiutanti di codifica come la generazione automatica di scheletri di implementazione da una definizione di interfaccia di classe, ecc.?

Sospetto che non ce ne siano, ma suppongo che non possa essere d'aiuto chiedere.

È stato utile?

Soluzione

Sembra che tu stia cercando tre cose principali:modelli di codice, strumenti di refactoring e completamento automatico.

La buona notizia è che Xcode 3 e versioni successive sono dotati di un eccellente completamento automatico e supporto dei modelli.Per impostazione predefinita, devi richiedere esplicitamente il completamento premendo il tasto Esc.(In realtà funziona con tutti NSTextViewS;provalo!) Se vuoi che i completamenti vengano visualizzati automaticamente, puoi andare a Preferenze -> Senso del codice e imposta la visualizzazione automatica del popup dopo alcuni secondi.Dovresti trovare buoni completamenti per il codice C e Objective-C e abbastanza buoni completamenti per C++.

Xcode ha anche un solido sistema di template/scheletro che puoi utilizzare.Puoi vedere quali modelli sono disponibili per impostazione predefinita andando su Modifica -> Inserisci macro di testo.Ovviamente non vuoi inserire macro di testo con il mouse;questo vanifica il punto.Invece hai due opzioni:

  1. Di nuovo dentro Preferenze,vai a Associazioni chiave, e poi, sotto Associazioni dei tasti del menu, assegna una scorciatoia specifica alle macro che usi spesso.Personalmente non mi preoccupo di farlo, ma conosco molti ottimi sviluppatori Mac che lo fanno
  2. Usa il CompletionPrefix.Per impostazione predefinita, quasi tutti i modelli hanno un prefisso speciale che, se si digita e poi si preme il tasto Esc, comporterà l'inserimento del modello.Puoi usare Control-/ per spostarti tra i campi di completamento.

    Puoi vedere un elenco completo delle macro predefinite di Xcode e dei relativi associati CompletionPrefixes A Rotazione storta.

    Puoi anche aggiungere le tue macro o modificare le impostazioni predefinite.Per fare ciò, modifica il file /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro.La sintassi dovrebbe essere autoesplicativa, se non terribilmente amichevole.

Sfortunatamente, se sei dipendente da R#, rimarrai deluso dalle opzioni di refactoring.Il refactoring di base viene fornito in Xcode tramite il menu contestuale o premendo Shift-Apple-J.Da lì è possibile estrarre e rinominare metodi, promuoverli e retrocederli tramite la gerarchia delle classi e alcune altre operazioni comuni.Sfortunatamente, né Xcode né altre utilità di terze parti offrono nulla che si avvicini a Resharper, quindi su questo fronte al momento sei sfortunato.Per fortuna, Apple ha già dimostrato le versioni di Xcode in lavorazione che hanno notevolmente migliorato le capacità di refactoring, quindi spero che non dovrai aspettare troppo a lungo prima che la situazione inizi a migliorare.

Altri suggerimenti

Sono entusiasta di dire che JetBrains ha deciso di creare un IDE decente per i programmatori Objective-C.

È chiamato CodiceApp ed è basato sugli altri loro strumenti come RubyMine e Resharper.Non è Cocoa nativo, ma ha un sacco di potere di refactoring grezzo.

http://www.jetbrains.com/objc/index.html

Ho iniziato a usarlo per il mio progetto principale Objective C e ne sono già innamorato.È ancora agli inizi, ma per la modifica e il refactoring del codice spazza già via Xcode.

Aggiornamento

Ora è a una velocità totalmente utilizzabile.Ci sono passato a tempo pieno e ancora mi stupisce quanto siano straordinari il refactoring e la codifica rispetto a Xcode.Gestisce così tante cose per te: importazione automatica, personalizzazione quasi infinita.Fa sembrare Xcode un giocattolo.

Xcode ha il refactoring per C e Objective-C integrato.Seleziona semplicemente ciò di cui desideri effettuare il refactoring, scegli "Refactoring..." dalla barra dei menu o dal menu contestuale e otterrai una finestra che include i refactoring disponibili e un'area di anteprima.

Xcode attualmente non dispone di un'API plug-in pubblica;se ci sono tipi specifici di plug-in che desideri che Apple abiliti, richieste di miglioramento dei file nel file Segnalatore di bug.In questo modo Apple può contare e tracciare tali richieste.

Tuttavia, ci sono strumenti di terze parti come Accessoriatore E mogenerator (l'ultima versione è mogenerator 1.10) che puoi utilizzare per velocizzare varie attività di sviluppo.Accessorizer ti aiuta a creare metodi di accesso per le tue classi, mentre mogenerator esegue una generazione di codice più avanzata per le classi di oggetti gestiti Core Data modellate utilizzando gli strumenti di modellazione di Xcode.

Solo così la gente lo saprà Accessoriatore non si limita a generare solo funzioni di accesso (sia 1.0 che proprietà per 2.0), genera anche codice Core Data per attributi non standard persistenti, le funzioni di accesso NSSet per relazioni personalizzate con molti.

Infatti, Accessoriatore ti aiuterà a fornire init, keypath, archiviazione con chiave, funzioni di accesso indicizzate, funzioni di accesso per raccolte non ordinate come NSSet, copyWithZone, KVO, convalida delle chiavi, override singleton, dealloc, setNilForKey, persistenza degli attributi non standard (Core Data), blocco, headerdoc, metodo di conversione in selettore, metodi NSUndoManager e altro ancora.

Ho trovato alcuni file xtmacro nel pacchetto Xcode.app:/Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Xcode ver. installato.3.2.5.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top