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?
objective-c
xcode
macos
cocoa
Robert Harvey
la source
la source
⌘ 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é.)Barre des favoris:
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
la source
Raccourcis clavier à saisie automatique
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.
la source
Désactiver l'avertissement "Annuler après le dernier point"
Lorsque vous tentez d'annuler après l'enregistrement, vous obtiendrez l'invite suivante:
Pour supprimer cet avertissement, entrez les informations suivantes dans une fenêtre de terminal:
Changer le nom de l'entreprise dans les fichiers modèles
Collez-le dans l'application Terminal:
Modifiez "
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 lesinfo.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.Accédez rapidement à un groupe dans le volet Groupes et fichiers
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).
Basculer 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 belleNSLog
déclaration. Appuyez à nouveau pour parcourir les choix. Pour voir tous les choix mutables, tapezNSMu
alors Control ⌃..Aide rapide
Pour accéder à la documentation de la fenêtre d'aide rapide, cliquez sur l'icône du livre en haut à droite.
Voir la documentation pour un symbole
Vous amène directement à la documentation complète.
Effectuer des sélections de texte non adjacentes
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.
Utilisez les raccourcis clavier Emacs pour parcourir votre code
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.
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 rapidementNSArray
en plaçant votre curseur après leNS
, en appuyant sur Shift ⇧ Control ^ Right Arrowpuis sur Delete.la source
Ouvrez 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:
Ouvrir utilise rapidement le mot actuel comme terme de recherche
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 .
la source
Utilisez #pragma pour l'organisation
Vous pouvez utiliser:
... 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:
C'est très utile, en particulier pour regrouper des méthodes déléguées ou d'autres groupes de méthodes.
la source
# TODO
déclarations. Maintenant, si seulement il saisissait également# XXX
, qui est couramment utilisé dans la base de code sur laquelle je travaille ...1. Point d'arrêt sur "objc_exception_throw"
Vous devriez toujours avoir un point d'arrêt
objc_exception_throw
.2. Débogage des problèmes de conservation / libération avec les variables "Zombie"
Utilisez le code suivant:
... 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 .
3. Passer à une classe dans Xcode depuis Interface Builder
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 .4. Réutilisation d'objets personnalisés dans Interface Builder
Faites glisser un objet personnalisé vers la bibliothèque d'Interface Builder pour une réutilisation ultérieure.
5. Sélectionnez les éléments qui se chevauchent dans Interface Builder
Control ⌃ Shift ⇧+
Click
sur un objet dans Interface Builder pour voir un menu de tous les objets sous la souris.6. Guide de gestes d'Interface Builder
Guide de gestes d'Interface Builder .
la source
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.
la source
Éditeur de zoom avant
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:
la source
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).
edit: Versions mises à jour pour Xcode 3.2
edit 2: Versions mises à jour pour Xcode 4
la source
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:
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.
la source
# 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.
la source
Maintenez Option pendant le fractionnement des fenêtres pour diviser verticalement plutôt qu'horizontalement.
la source
Double-cliquez sur les crochets ou les parenthèses pour obtenir une correspondance entre les crochets et les parenthèses.
la source
Contrôlez l'éditeur de texte de Xcode à partir de la ligne de commande: xed
la source
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.
la source
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, avecfile
comme jeton modifiable comme pour la complétion de code.la source
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
la source
Vous pouvez demander à Xcode d'exécuter le préprocesseur sur votre fichier Info.plist:
Voir http://developer.apple.com/technotes/tn2007/tn2175.html pour plus de détails.
la source
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.
la source
Naviguez parmi les fichiers ouverts dans les deux sens:
⌥⌘ ←
⌥⌘ →
la source
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!
la source
Avec Trackpad:
Testé avec Xcode 3.2.5.
la source
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.
la source
Utiliser ]pour insérer automatiquement
[
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.
Méthode 1: après le nom de la fonction
myObject testMethod
]... devient:
... avec le curseur placé après le
]
.Méthode 2: avant le nom de la fonction
myObject
]... devient:
... 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.la source
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).
la source
Ê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:
puis je frappe ESC pour voir toutes les méthodes de ma superclasse qui commencent par "ta" comme
Cela fonctionne également lors de l'adoption de protocoles.
la source
Command ⌘ alt ⌥ shift T : révèle le fichier édité en cours dans l'arborescence du projet.
la source
ctrl+ alt+ ⌘+ rpour effacer le journal
la source
Utilisez le navigateur de classes pour afficher les méthodes héritées
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.
la source