Avec un énorme afflux de débutants vers Xcode, je suis sûr qu'il y a beaucoup de trucs et astuces Xcode à partager.
Quels sont les vôtres?
Avec un énorme afflux de débutants vers Xcode, je suis sûr qu'il y a beaucoup de trucs et astuces Xcode à partager.
Quels sont les vôtres?
Réponses:
Option ⌥ Command ⌘ Up Arrow ↑
Affichage > Basculer vers l'en-tête / fichier source
Bascule entre les fichiers .m
et .h
.
- Dans Xcode 4, c'est ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: Aller à Définition d'un symbole.
⌥ Option+ Double-Click on a symbol
: Rechercher du texte dans la documentation d'un symbole. (Fonctionne uniquement si le Doc Set de leur symbole est installé.)
La barre des favoris est exactement comme vous l'avez dans Safari pour stocker - enfin - vos favoris. Je l'utilise souvent comme un endroit pour stocker des raccourcis (que vous pouvez faire par glisser-déposer) vers des fichiers que j'utilise en ce moment. En général, cela est plus utile lorsque je travaille avec un projet volumineux ou inconnu.
Pour afficher la barre des favoris, sélectionnez l'option de menu suivante:
View
> Layout
>Show Favorites Bar
Tab ⇥OU Control ⌃ /: sélectionnez le prochain argument de saisie semi-automatique.
Shift ⇧ Tab ⇥OU Shift ⇧ Control ⌃ /: sélectionnez l'argument de saisie semi-automatique précédent.
Escape ⎋: Affiche la liste déroulante de complétion automatique.
Lorsque vous tentez d'annuler après l'enregistrement, vous obtiendrez l'invite suivante:
"Vous êtes sur le point d'annuler le dernier point d'enregistrement de ce fichier. Voulez-vous le faire?"
Pour supprimer cet avertissement, entrez les informations suivantes dans une fenêtre de terminal:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Collez-le dans l'application Terminal:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
com.yourcompanyname
" dans tous vos modèles:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
com.yourcompany
valeur que vous utilisez normalement pour créer un périphérique. J'ai utilisé la recherche et le remplacement multiples de BBEdit après avoir ouvert tout le répertoire. Vous devez remplacer la valeur dans tous les info.plist
fichiers. J'ai trouvé 8 fichiers à modifier. Le nombre de fois où une construction a échoué parce que j'ai oublié de changer cette chaîne est ridicule.
- Control ⌃ Option ⌥ Shift ⇧ + <Première lettre d'un nom de groupe>
Si vous maintenez les trois touches ci-dessus enfoncées, vous pouvez rapidement accéder aux groupes dans la page de gauche (Groupes et fichiers) en appuyant sur la première lettre d'un nom de groupe. Par exemple, Control ⌃Option ⌥Shift ⇧Tvous amène aux cibles et Control ⌃Option ⌥Shift ⇧Sà la source . Appuyez à nouveau et il passe à SCM. Il faut parfois plusieurs essais pour que cela fonctionne (je ne sais pas pourquoi).
Control ⌃ .
Shift ⇧ Control ⌃ .: Revient en arrière entre les choix de saisie semi-automatique.
Control ⌃.(Période de contrôle) après un mot accepte automatiquement le premier choix dans le menu de saisie semi-automatique. Essayez log
alors de taper Control ⌃. et vous obtiendrez une belle NSLog
déclaration. Appuyez à nouveau pour parcourir les choix. Pour voir tous les choix mutables, tapez NSMu
alors Control ⌃..
Control ⌃ Command ⌘ ? (Pendant que votre curseur est dans le symbole pour rechercher)
Option ⌥ + <Double-cliquez sur un symbole>
Aide> Aide rapide
Pour accéder à la documentation de la fenêtre d'aide rapide, cliquez sur l'icône du livre en haut à droite.
- Command ⌘ Option ⌥ + <Double-cliquez sur un symbole>
Vous amène directement à la documentation complète.
- Command ⌘ Control ⌃ + <Double-cliquez dans l'éditeur>
Utilisez le raccourci ci-dessus pour une étrange façon de sélectionner plusieurs mots. Vous pouvez faire des sélections de mots dans des endroits totalement différents, puis les supprimer ou les copier tous en même temps. Je ne sais pas si cela est utile. C'est Xcode seulement pour autant que je sache.
Cette astuce fonctionne dans toutes les applications Cocoa sur Mac (TextEdit, Mail, etc.) et est probablement l'une des choses les plus utiles à connaître.
- Command ⌘ Left Arrowou Command ⌘ Right ArrowVous amène au début et à la fin d'une ligne.
- Control ^ aet Control ^ efais la même chose
- Control ^ net Control ^ pDéplacez le curseur vers le haut ou le bas d'une ligne.
- Control ^ fet Control ^ bdéplacer le curseur vers l'arrière ou vers l'avant d'un espace
Appuyez Shift ⇧sur l'une de ces options pour sélectionner le texte entre les points de déplacement. Placez le curseur au milieu d'une ligne et appuyez sur Shift ⇧ Control ^ eet vous pouvez sélectionner jusqu'à la fin de la ligne.
Appuyez sur Option ⌥pour naviguer dans les mots avec le clavier. Option ⌥ Control ^ fsaute à la fin du mot actuel. Option ⌥ Control ^ bsaute au début du mot actuel. Vous pouvez également utiliser Option ⌥les touches fléchées gauche et droite pour vous déplacer un mot à la fois.
Essayez-le avec NSMutableArray
. Vous pouvez le changer rapidement NSArray
en plaçant votre curseur après le NS
, en appuyant sur Shift ⇧ Control ^ Right Arrowpuis sur Delete.
Command ⌘ Shift ⇧ D
Fichier > Ouvrir rapidement ...
Je suis un grand fan de la fonctionnalité Open Quickly , qui est particulièrement bonne dans Xcode 3.1 et versions ultérieures. Lorsque vous souhaitez ouvrir un fichier ou une définition de symbole qui se trouve dans votre projet ou dans un framework, appuyez simplement sur le raccourci clavier, tapez un peu du nom du fichier ou du symbole, utilisez Up Arrow ↑et Down Arrow ↓pour choisir le bon résultat (si besoin est), puis appuyez sur Return ↩pour ouvrir le fichier ou accédez à la définition du symbole.
Sur Xcode 4:
- Command ⌘ Shift ⇧ o
De plus, quelque chose que je ne connaissais pas sur Xcode il y a deux minutes (quand Schwa l'a souligné dans un commentaire), c'est que si le curseur texte de l'éditeur est à l'intérieur d'un mot lorsque Open Quickly est invoqué, ce mot sera utilisé comme Ouvrez le terme de recherche rapide .
Vous pouvez utiliser:
#pragma mark Foo
... comme moyen d'organiser les méthodes dans vos fichiers source. Lorsque vous parcourez les symboles via le menu contextuel, tout ce que vous placez Foo
apparaîtra en gras dans la liste.
Pour afficher un séparateur (c'est-à-dire une ligne horizontale), utilisez:
#pragma mark -
C'est très utile, en particulier pour regrouper des méthodes déléguées ou d'autres groupes de méthodes.
# TODO
déclarations. Maintenant, si seulement il saisissait également # XXX
, qui est couramment utilisé dans la base de code sur laquelle je travaille ...
Vous devriez toujours avoir un point d'arrêtobjc_exception_throw
.
Utilisez le code suivant:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... pour déboguer les problèmes de conservation et de libération. Pour plus d'informations, consultez la section «Recherche de fuites de mémoire» du document Applications de débogage d' Apple .
Command ⌘+ Double-click
sur un objet dans la fenêtre de document d'Interface Builder pour accéder à cette classe dans Xcode. C'est très pratique avec le propriétaire du fichier .
Faites glisser un objet personnalisé vers la bibliothèque d'Interface Builder pour une réutilisation ultérieure.
Control ⌃ Shift ⇧+ Click
sur un objet dans Interface Builder pour voir un menu de tous les objets sous la souris.
Ctrl+ 2: Accéder à la liste contextuelle des méthodes et symboles dans le fichier actuel.
C'est très utile car avec ce raccourci, vous pouvez parcourir un fichier entièrement à l'aide du clavier. Lorsque vous arrivez à la liste, commencez à taper des caractères et la liste sélectionnera le symbole que vous recherchez.
Si votre fenêtre affiche à la fois les détails et la vue de l'éditeur, vous pouvez zoomer sur l'éditeur pour développer la vue de l'éditeur sur toute la hauteur de la fenêtre. (C'est assez facile à trouver, mais beaucoup semblent l'ignorer.)
Vous pouvez le faire en utilisant l'une des méthodes suivantes:
Command ⌘ Shift ⇧ E
Affichage > Éditeur de zoom avant
Faites glisser le séparateur (entre la fenêtre de l'éditeur et la liste de fichiers au-dessus) vers le haut.
Obtenez la liste complète des raccourcis clavier Xcode de Colin Wheeler (disponible en PDF ou PNG). Imprimez-le et gardez-le quelque part visible (je l'ai sur le mur à côté de mon écran).
Pas vraiment un raccourci clavier mais les commentaires TODO dans la source apparaissent dans le menu déroulant méthode / fonction en haut de l'éditeur.
Ainsi, par exemple:
// TODO: Some task that needs to be done.
apparaît dans la liste déroulante des méthodes et fonctions afin que vous puissiez y accéder directement.
La plupart des IDE Java affichent un marqueur pour ces balises de tâche dans la barre de défilement, ce qui est plus agréable, mais cela fonctionne également.
# XXX
, et elle ne les voit pas.
⌘- [et ⌘-] pour mettre en retrait et retirer le texte sélectionné. Fait le nettoyage du code source beaucoup plus facile.
Double-cliquez sur les crochets ou les parenthèses pour obtenir une correspondance entre les crochets et les parenthèses.
Contrôlez l'éditeur de texte de Xcode à partir de la ligne de commande: 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 + Flèche gauche / droite" pour faire une navigation textuelle intra-mot. J'utilise cette fonction pour sauter le curseur d'une "bosse de chameau" dans une variable à la suivante.
Xcode prend en charge les macros de texte qui peuvent être invoquées via le menu Insérer une macro de texte à la fin du menu Édition . Ils peuvent également être invoqués à l'aide de Code Sense, la technologie de complétion de code de Xcode.
Par exemple, la saisie de la séquence de touches p i m control-period
sera insérée #import "file"
dans votre code, avec file
comme jeton modifiable comme pour la complétion de code.
Cliquez avec le bouton droit sur une variable dans votre fonction et cliquez sur Modifier tout dans la portée. Je l'utilise beaucoup depuis que je l'ai découvert.
ctrl ⌘ T
Vous pouvez demander à Xcode d'exécuter le préprocesseur sur votre fichier Info.plist:
<key> CFBundleShortVersionString </key> #ifdef DEBUG <string> 1.0 (débogage) </string> #autre <string> 1.0 </string> #fin si
Voir http://developer.apple.com/technotes/tn2007/tn2175.html pour plus de détails.
Débogage - comment utiliser GDB
Étant encore nouveau dans ce domaine, je trouve que le piégeage et l'identification des défauts sont un travail plutôt intimidant. La console, bien qu'elle soit un outil puissant, ne donne généralement pas de résultats très intuitifs et savoir ce que vous regardez dans le débogueur peut être tout aussi difficile à comprendre. Avec l'aide de certains d'entre eux sur Stack Overflow et le bon article sur le débogage qui peut être trouvé sur Cocoa With Love, il devient un peu plus convivial.
Naviguez parmi les fichiers ouverts dans les deux sens:
⌥⌘ ←
⌥⌘ →
Techniquement une astuce Interface Builder, mais ils sont une paire assortie de livres, donc je ne pense pas que ce soit hors sujet ...
Maj + clic droit sur l'un de vos contrôles et vous obtenez une belle liste de sélection de la hiérarchie des objets. Plus de clic, cliquez, cliquez, frustration!
Avec Trackpad:
Testé avec Xcode 3.2.5.
Le navigateur de classe dans Xcode! Atteint en appuyant sur shift+ ⌘+c . Vous pouvez réduire la portée pour n'afficher que votre projet actif. Il vous donne une vue moins encombrée tant que vous ne souhaitez parcourir que la hiérarchie des classes.
[
au bon endroitJe viens d'un arrière-plan .NET, donc j'ai l'habitude de taper un symbole puis de taper l'un de ses noms de méthode. Donc, j'oublie toujours d'inclure le [
avant de commencer à taper le nom de l'objet. Habituellement, cela signifiait que je devais aller au début de la ligne et ajouter [
manuellement. Je ne savais pas que je pouvais simplement appuyer ]sur la position actuelle du curseur, et il sera ajouté automatiquement.
Il existe des moyens de l'utiliser: soit après avoir tapé le nom de la fonction, soit juste avant de taper le nom de la fonction.
myObject testMethod
]
... devient:
[myObject testMethod]
... avec le curseur placé après le ]
.
myObject
]
... devient:
[myObject ]
... avec le curseur placé juste avant le ]
.
L'avantage de ce dernier (2) est que l'achèvement du code filtrera sur les méthodes de votre objet. Alors qu'avec l'ancien (1) si vous essayez d'appeler la complétion de code immédiatement après myObject
, il ne sera pas filtré. Un autre avantage de (2) est qu'il se comporte plus comme d'autres langages de programmation qui utilisent la notation par points. Vous tapez le nom de l'objet puis simplement ]au lieu d' .accéder à une méthode.
Sélectionnez un bloc de texte et tapez cmd- / pour le commenter. Recommencez pour supprimer les caractères des commentaires.
Ceci est particulièrement utile lorsqu'il est combiné avec l'appariement d'accolades en double-cliquant sur les caractères équilibrés (parens, accolades, crochets).
Être capable de voir rapidement toutes les méthodes qui peuvent être remplacées par une super classe. Par exemple, lors de l'extension de UITableViewController, je tape simplement mon implémentation:
- ta
puis je frappe ESC pour voir toutes les méthodes de ma superclasse qui commencent par "ta" comme
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Cela fonctionne également lors de l'adoption de protocoles.
Command ⌘ alt ⌥ shift T : révèle le fichier édité en cours dans l'arborescence du projet.
ctrl+ alt+ ⌘+ rpour effacer le journal
La documentation de référence de l'API d'Apple ne montre pas les méthodes héritées d'une superclasse. Parfois, cependant. il est utile de pouvoir voir la gamme complète des fonctionnalités disponibles pour une classe, y compris une classe personnalisée. Vous pouvez utiliser l'Explorateur de classes (dans le menu Projet) pour afficher une liste plate ou hiérarchique de toutes les classes liées à un projet en cours. Le volet supérieur sur le côté droit de la fenêtre du navigateur affiche une liste des méthodes associées à l'objet sélectionné dans le navigateur. Vous pouvez utiliser la feuille Configurer les options pour sélectionner "Afficher les membres hérités" pour afficher les méthodes héritées ainsi que celles définies par la classe sélectionnée elle-même. Vous cliquez sur le petit symbole du livre pour accéder à la documentation correspondante.