Con un enorme afflusso di neofiti su Xcode, sono sicuro che ci sono molti suggerimenti e trucchi per Xcode da condividere.
Quali sono i tuoi?
Con un enorme afflusso di neofiti su Xcode, sono sicuro che ci sono molti suggerimenti e trucchi per Xcode da condividere.
Quali sono i tuoi?
Risposte:
Option ⌥ Command ⌘ Up Arrow ↑
Visualizza > Passa al file di intestazione / sorgente
Passa tra i file .m
e .h
.
- In Xcode 4 questo è ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: Passa alla definizione di un simbolo.
⌥ Option+ Double-Click on a symbol
: Trova testo nella documentazione di un simbolo. (Funziona solo se hai installato il Doc Set del simbolo.)
La barra dei Preferiti è proprio come in Safari per la memorizzazione - beh - dei preferiti. Lo uso spesso come luogo per archiviare le scorciatoie (cosa che puoi fare trascinandole) sui file che sto usando in questo momento. Generalmente questo è più utile quando lavoro con un progetto grande o sconosciuto.
Per mostrare la barra dei preferiti, selezionare la seguente opzione di menu:
View
> Layout
>Show Favorites Bar
Tab ⇥OPPURE Control ⌃ /: selezionare il successivo argomento di completamento automatico.
Shift ⇧ Tab ⇥OPPURE Shift ⇧ Control ⌃ /: selezionare l'argomento di completamento automatico precedente.
Escape ⎋: Mostra l'elenco a comparsa di completamento automatico.
Quando si tenta di annullare dopo il salvataggio, verrà visualizzato il seguente messaggio:
"Stai per annullare oltre l'ultimo punto in cui questo file è stato salvato. Vuoi farlo?"
Per eliminare questo avviso, immettere quanto segue in una finestra del terminale:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Incollalo nell'applicazione Terminale:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
com.yourcompanyname
" in tutti i tuoi modelli:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
com.yourcompany
al valore che usi normalmente per creare un dispositivo. Ho usato il multi-find-and-sostitu di BBEdit dopo aver aperto l'intera directory. Dovresti sostituire il valore in tutti i info.plist
file. Ho trovato 8 file da modificare. Il numero di volte in cui una build è fallita perché mi sono dimenticato di cambiare questa stringa è ridicolo.
- Control ⌃ Option ⌥ Shift ⇧ + <Prima lettera del nome di un gruppo>
Se si tengono premuti i tre tasti sopra, è possibile passare rapidamente ai gruppi nella pagina sinistra (Gruppi e file) premendo la prima lettera del nome di un gruppo. Ad esempio, Control ⌃Option ⌥Shift ⇧Tti porta ai target e Control ⌃Option ⌥Shift ⇧Salla fonte . Premerlo di nuovo e salta su SCM. A volte ci vogliono diversi tentativi per farlo funzionare (non so perché).
Control ⌃ .
Shift ⇧ Control ⌃ .: Scorre indietro tra le scelte di completamento automatico.
Control ⌃.(Control-Period) dopo una parola accetta automaticamente la prima scelta dal menu di completamento automatico. Prova log
quindi a digitare Control ⌃. e otterrai una bella NSLog
dichiarazione. Premerlo di nuovo per scorrere tutte le scelte. Per visualizzare tutte le opzioni modificabili, digitare NSMu
quindi Control ⌃..
Control ⌃ Command ⌘ ? (Mentre il cursore si trova nel simbolo per cercare)
Option ⌥ + <Fare doppio clic su un simbolo>
Aiuto> Aiuto rapido
Per accedere alla documentazione dalla finestra Guida rapida, fai clic sull'icona del libro in alto a destra.
- Command ⌘ Option ⌥ + <Fare doppio clic su un simbolo>
Ti porta direttamente alla documentazione completa.
- Command ⌘ Control ⌃ + <Fare doppio clic nell'editor>
Usa il collegamento sopra per uno strano modo di selezionare più parole. È possibile effettuare selezioni di parole in luoghi totalmente diversi, quindi eliminarle o copiarle tutte in una volta. Non sono sicuro se questo sia utile. È Xcode solo per quanto posso dire.
Questo trucco funziona in tutte le applicazioni Cocoa sul Mac (TextEdit, Mail, ecc.) Ed è probabilmente una delle cose più utili da sapere.
- Command ⌘ Left Arrowo Command ⌘ Right ArrowTi porta all'inizio e alla fine di una riga.
- Control ^ ae Control ^ efai la stessa cosa
- Control ^ ne Control ^ psposta il cursore su o giù di una riga.
- Control ^ fe Control ^ bsposta il cursore indietro o avanti di uno spazio
Premendo Shift ⇧con uno di questi si seleziona il testo tra i punti di spostamento. Posiziona il cursore nel mezzo di una linea e premi Shift ⇧ Control ^ ee puoi selezionare fino alla fine della linea.
Premendo Option ⌥, potrai navigare tra le parole con la tastiera. Option ⌥ Control ^ fsalta alla fine della parola corrente. Option ⌥ Control ^ bsalta all'inizio della parola corrente. Puoi anche usare Option ⌥i tasti freccia sinistra e destra per spostarti di una parola alla volta.
Provalo con NSMutableArray
. Puoi cambiarlo rapidamente NSArray
posizionando il cursore dopo il NS
, premendo Shift ⇧ Control ^ Right Arrowquindi Delete.
Command ⌘ Shift ⇧ D
File > Apri rapidamente ...
Sono un grande fan della funzione Open Quickly , particolarmente utile in Xcode 3.1 e versioni successive. Quando vuoi aprire un file o una definizione di simbolo presente nel tuo progetto o in un framework, premi semplicemente la scorciatoia da tastiera, digita un po 'del nome del file o del simbolo, usa Up Arrow ↑e Down Arrow ↓seleziona il risultato giusto (se necessario), e quindi premere Return ↩per aprire il file o passare alla definizione del simbolo.
Su Xcode 4:
- Command ⌘ Shift ⇧ o
Inoltre, qualcosa che non sapevo su Xcode fino a due minuti fa (quando schwa lo ha sottolineato in un commento) è che, se il cursore di testo dell'editor si trova all'interno di una parola quando viene invocato Open Quickly , quella parola verrà utilizzata come Apri Termine di ricerca rapida .
Puoi usare:
#pragma mark Foo
... come un modo per organizzare i metodi nei file sorgente. Quando si sfogliano i simboli tramite il menu a comparsa, qualsiasi cosa si inserisca Foo
apparirà in grassetto nell'elenco.
Per visualizzare un separatore (ovvero una linea orizzontale), utilizzare:
#pragma mark -
È molto utile, soprattutto per raggruppare metodi delegati o altri gruppi di metodi.
# TODO
dichiarazioni. Ora, se solo lo afferrasse # XXX
, che è comunemente usato nella base di codice su cui lavoro ...
Dovresti sempre avere un punto di interruzione attivoobjc_exception_throw
.
Usa il seguente codice:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... per eseguire il debug dei problemi di conservazione e rilascio. Per ulteriori informazioni, consultare la sezione "Ricerca di perdite di memoria" del documento Applicazioni di debug di Apple .
Command ⌘+ Double-click
su un oggetto nella finestra del documento di Interface Builder per passare a quella classe in Xcode. Questo è molto utile con il proprietario del file .
Trascina un oggetto personalizzato nella libreria di Interface Builder per un successivo riutilizzo.
Control ⌃ Shift ⇧+ Click
su un oggetto in Interface Builder per visualizzare un menu di tutti gli oggetti sotto il mouse.
Ctrl+ 2: Consente di accedere all'elenco popup di metodi e simboli nel file corrente.
Questo è super utile perché con questa scorciatoia puoi navigare attraverso un file usando la tastiera. Quando arrivi all'elenco, inizia a digitare i caratteri e l'elenco selezionerà il tipo che stai cercando.
Se la tua finestra mostra sia i dettagli che la vista dell'editor, puoi ingrandire l'editor per espandere la vista dell'editor a tutta l'altezza della finestra. (Questo è abbastanza facile da trovare, ma molti sembrano trascurarlo.)
È possibile farlo utilizzando uno dei seguenti metodi:
Command ⌘ Shift ⇧ E
Visualizza > Zoom Editor In
Trascina verso l'alto lo splitter (tra la finestra dell'editor e l'elenco dei file sopra di esso).
Ottieni l'elenco completo di scorciatoie da tastiera Xcode di Colin Wheeler (disponibile come PDF o PNG). Stampalo e mantienilo da qualche parte visibile (l'ho sul muro accanto al mio schermo).
modifica: versioni aggiornate per Xcode 3.2
modifica 2: versioni aggiornate per Xcode 4
Non molto di una scorciatoia da tastiera, ma i commenti TODO nel sorgente vengono visualizzati nel menu a discesa metodo / funzione nella parte superiore dell'editor.
Quindi per esempio:
// TODO: Some task that needs to be done.
viene visualizzato nell'elenco a discesa di metodi e funzioni in modo da poter passare direttamente ad esso.
La maggior parte degli IDE Java mostra un indicatore per questi tag di attività nella barra di scorrimento, che è più bello, ma funziona anche.
# XXX
e non li vede.
⌘- [e ⌘-] per indentare e rimuovere il testo selezionato. Rende molto più semplice la pulizia del codice sorgente .
Fare doppio clic sulle parentesi quadre o tra parentesi per ottenere la corrispondenza tra parentesi e parentesi.
Controlla l'editor di testo di Xcode dalla riga di comando: xed
> xed -x # open a new untitled document
> xed -xc foo.txt # create foo.txt and open it
> xed -l 2000 foo.txt # open foo.txt and go to line 2000
# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile
> man xed # there's a man page, too
xed was introduced in Mac OS X 10.5 with Xcode 3.0.
"Ctrl + Freccia sinistra / destra" per eseguire la navigazione del testo all'interno della parola. Uso questa funzione per saltare il cursore da una "gobba di cammello" in una variabile alla successiva.
Xcode supporta le macro di testo che possono essere invocate tramite il menu Inserisci macro di testo alla fine del menu Modifica . Possono anche essere invocati utilizzando Code Sense, la tecnologia di completamento del codice di Xcode.
Ad esempio, digitando la sequenza di tasti p i m control-period
si inserirà #import "file"
nel codice, file
come token modificabile proprio come con il completamento del codice.
Fare clic con il tasto destro su una variabile nella funzione e fare clic su Modifica tutto nell'ambito. Lo uso molto da quando l'ho scoperto.
ctrl ⌘ T
Puoi fare in modo che Xcode esegua il preprocessore sul tuo file Info.plist:
<Key> CFBundleShortVersionString </ key> #ifdef DEBUG <string> 1.0 (debug) </string> #altro <String> 1.0 </ string> #finisci se
Vedi http://developer.apple.com/technotes/tn2007/tn2175.html per i dettagli.
Debug - come usare GDB
Essendo nuovo a questo proposito, trovo che intrappolare e identificare i guasti sia un lavoro piuttosto scoraggiante. La console, nonostante sia uno strumento potente, di solito non produce risultati molto intuitivi e sapere cosa stai guardando nel debugger può essere altrettanto difficile da capire. Con l'aiuto di alcuni di loro su Stack Overflow e il buon articolo sul debug che puoi trovare su Cocoa With Love diventa un po 'più amichevole.
Navigare tra i file aperti avanti e indietro:
⌥⌘ ←
⌥⌘ →
Tecnicamente un suggerimento di Interface Builder, ma sono una coppia abbinata a un libro, quindi non penso che questo sia fuori tema ...
Maiusc + tasto destro del mouse su uno dei controlli e si ottiene un piacevole elenco di selezione della gerarchia degli oggetti. Niente più clic, clic, clic, frustrazione!
Con trackpad:
Testato con Xcode 3.2.5.
Il browser di classe in Xcode! Raggiunto premendo shift+ ⌘+c . Puoi ridurre l'ambito per mostrare solo il tuo progetto attivo. Ti dà una visione meno ingombra purché desideri solo esplorare la gerarchia di classi.
[
nella posizione correttaVengo da un background .NET, quindi sono abituato a digitare un simbolo e quindi a digitare uno dei nomi dei suoi metodi. Quindi dimentico sempre di includere il [
prima di iniziare a digitare il nome dell'oggetto. Di solito questo significava che avrei dovuto andare all'inizio della riga e aggiungere [
manualmente. Non mi ero reso conto di poter semplicemente premere ]nella posizione corrente del cursore e verrà aggiunto automaticamente.
Esistono modi per utilizzarlo: dopo aver digitato il nome della funzione o subito prima di digitare il nome della funzione.
myObject testMethod
]
... diventa:
[myObject testMethod]
... con il cursore posizionato dopo ]
.
myObject
]
... diventa:
[myObject ]
... con il cursore posizionato proprio prima del ]
.
Il vantaggio di quest'ultimo (2) è che il completamento del codice filtra i metodi del tuo oggetto. Considerando che con il primo (1) se si tenta di invocare il completamento del codice immediatamente dopo myObject
, non verrà filtrato. Un altro vantaggio di (2) è che si comporta più come altri linguaggi di programmazione che usano la notazione a punti. Digiti il nome dell'oggetto quindi semplicemente ]invece di .accedere a un metodo.
Seleziona un blocco di testo e digita cmd- / per commentarlo. Fallo di nuovo per rimuovere i caratteri dei commenti.
Ciò è particolarmente utile quando combinato con la corrispondenza delle parentesi graffe facendo doppio clic su caratteri bilanciati (parentesi, parentesi graffe, parentesi).
Essere in grado di vedere rapidamente tutti i metodi che possono essere sostituiti da una super classe. Ad esempio, durante l'estensione di UITableViewController, digito semplicemente la mia implementazione:
- ta
e poi premo ESC per vedere tutti i metodi della mia superclasse che iniziano con "ta" come
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Questo funziona anche quando si adottano i protocolli.
Command ⌘ alt ⌥ shift T : rivela l'attuale file modificato nella struttura del progetto.
ctrl+ alt+ ⌘+ rper cancellare il registro
La documentazione di riferimento API di Apple non mostra i metodi ereditati da una superclasse. A volte, però. è utile poter vedere l'intera gamma di funzionalità disponibili per una classe, inclusa una tua classe personalizzata. È possibile utilizzare il Browser delle classi (dal menu Progetto) per visualizzare un elenco semplice o gerarchico di tutte le classi relative a un progetto corrente. Il riquadro superiore sul lato destro della finestra del browser mostra un elenco di metodi associati all'oggetto selezionato nel browser. Puoi utilizzare il foglio Configura opzioni per selezionare "Mostra membri ereditati" per mostrare i metodi ereditati e quelli definiti dalla classe selezionata stessa. Fare clic sul simbolo del piccolo libro per accedere alla documentazione corrispondente.