Avec un énorme afflux de débutants dans Xcode, je suis sûr qu'il existe de nombreux trucs et astuces Xcode à partager.
Quels sont les vôtres?
Option ⌥Command ⌘Up Arrow ↑
Affichage> Basculer vers l'en-tête/le fichier source
Bascule entre les fichiers .m
et .h
.
- Dans Xcode 4 c'est ctrlCommand ⌘Up Arrow ↑
⌘ Command + Double-Click on a symbol
: Aller à la définition d'un symbole.
⌥ Option + Double-Click on a symbol
: Rechercher du texte dans la documentation d'un symbole. (Ne fonctionne que si le jeu de documents de ce symbole est installé.)
La barre des favoris est comme dans Safari pour stocker - et bien - les favoris. Je l'utilise souvent comme emplacement pour stocker des raccourcis (que vous pouvez faire par glisser-déposer) vers les fichiers que j'utilise actuellement. Généralement, cela est plus utile lorsque je travaille sur un projet volumineux ou inconnu.
Pour afficher la barre des favoris, sélectionnez l’option de menu suivante:
View
> Layout
> Show Favorites Bar
Tab ⇥ OR Control ⌃/: Sélectionnez le prochain argument d'auto-complétion.
Shift ⇧Tab ⇥ OR Shift ⇧Control ⌃/: Sélectionnez l’argument de complétion automatique précédent.
Escape ⎋: Affiche la liste déroulante de complétion automatique.
Lorsque vous essayez d'annuler après l'enregistrement, vous obtenez l'invite suivante:
"Vous êtes sur le point d'annuler le dernier point d'enregistrement du fichier. Voulez-vous le faire?"
Pour vous débarrasser de cet avertissement, entrez les informations suivantes dans une fenêtre de terminal:
defaults write com.Apple.Xcode XCShowUndoPastSaveWarning NO
Collez ceci 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
par la valeur que vous utilisez normalement pour créer un périphérique. J'ai utilisé le multi-recherche-remplacement de BBEdit après avoir ouvert tout le répertoire. Vous devriez remplacer la valeur dans tous les fichiers info.plist
. J'ai trouvé 8 fichiers à changer. Le nombre de fois où une compilation 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 accéder rapidement aux groupes de la page de gauche (Groupes et fichiers) en appuyant sur la première lettre du nom du groupe. Par exemple, Control ⌃Option ⌥Shift ⇧T vous amène à Cibles et Control ⌃Option ⌥Shift ⇧S à Source. Appuyez de nouveau dessus pour passer à SCM. Parfois, il faut plusieurs essais pour que cela fonctionne (je ne sais pas pourquoi).
Control ⌃.
Shift ⇧Control ⌃.: Effectue un cycle arrière entre les choix d'auto-complétion.
Control ⌃. (Période de contrôle) après un mot accepte automatiquement le premier choix dans le menu d'auto-complétion. Essayez de taper log
puis Control ⌃. et vous obtiendrez une déclaration Nice NSLog
. Appuyez à nouveau pour faire défiler tous les choix. Pour voir tous les choix mutables, tapez NSMu
puis Control ⌃..
Control ⌃Command ⌘? (Tant que votre curseur est dans le symbole à regarder)
Option ⌥ + <Double-cliquez sur un symbole>
Aide> Aide rapide
Pour accéder à la documentation à partir 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 emmène directement à la documentation complète.
- Command ⌘Control ⌃ + <Double-cliquez dans l'éditeur>
Utilisez le raccourci ci-dessus pour une façon étrange de sélectionner plusieurs mots. Vous pouvez sélectionner des mots à des endroits totalement différents, puis les supprimer ou les copier en une fois. Pas sûr que cela soit utile. C'est Xcode autant que je peux dire.
Cette astuce fonctionne dans toutes les applications Cocoa sur Mac (TextEdit, Mail, etc.) et constitue probablement l'une des choses les plus utiles à connaître.
- Command ⌘Left Arrow ou Command ⌘Right Arrow Vous amène au début et à la fin d'une ligne.
- Control ^a et Control ^e Faire la même chose
- Control ^n et Control ^p Déplace le curseur d'une ligne vers le haut ou le bas.
- Control ^f et Control ^b Déplace le curseur en arrière ou en avant d'une case
Pressage Shift ⇧ avec n'importe lequel de ces éléments, sélectionne le texte entre les points de déplacement. Placez le curseur au milieu d’une ligne et appuyez sur Shift ⇧Control ^e et vous pouvez sélectionner jusqu'à la fin de la ligne.
Pressage Option ⌥ vous permettra de naviguer entre les mots avec le clavier. Option ⌥Control ^f passe à la fin du mot actuel. Option ⌥Control ^b passe au début du mot actuel. Vous pouvez aussi utiliser Option ⌥ avec les touches fléchées gauche et droite pour déplacer un mot à la fois.
Essayez-le avec NSMutableArray
. Vous pouvez rapidement le changer en NSArray
en plaçant votre curseur après le NS
, en appuyant sur Shift ⇧Control ^Right Arrow ensuite Delete.
Command ⌘Shift ⇧D
Fichier > Ouvrir rapidement ...
Je suis un grand fan de la fonctionnalité Ouvrir rapidement , particulièrement utile dans Xcode 3.1 et les versions ultérieures. Lorsque vous voulez ouvrir un fichier ou une définition de symbole qui se trouve dans votre projet ou dans une structure, appuyez simplement sur le raccourci clavier, tapez un morceau du nom du fichier ou du symbole, utilisez Up Arrow ↑ et Down Arrow ↓ sélectionner le bon résultat (si besoin est), puis appuyer sur Return ↩ pour ouvrir le fichier ou accéder à la définition du symbole.
Sur Xcode 4:
- Command ⌘Shift ⇧o
En outre, quelque chose que je ne connaissais pas à propos de Xcode il y a deux minutes (lorsque schwa l'a souligné dans un commentaire) est que, si le curseur de texte de l'éditeur est à l'intérieur d'un mot, Ouvrir rapidement est appelé, ce mot sera utilisé comme terme de recherche Ouvrir rapidement .
Vous pouvez utiliser:
#pragma mark Foo
... pour organiser les méthodes dans vos fichiers source. Lorsque vous parcourez les symboles via le menu contextuel, tout ce que vous placez dans Foo
apparaîtra en gras dans la liste.
Pour afficher un séparateur (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.
Vous devriez toujours avoir un point d'arrêt sur objc_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, reportez-vous à la section "Recherche de fuites de mémoire" de document "Applications de débogage d'Apple" .
Command ⌘ + Double-click
sur un objet de la fenêtre de document d'Interface Builder pour accéder à cette classe dans Xcode. Ceci 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 afficher un menu de tous les objets situés sous la souris.
Ctrl + 2: Accédez à la liste déroulante des méthodes et des symboles du fichier en cours.
C'est très utile car avec ce raccourci, vous pouvez naviguer dans un fichier entièrement à l'aide du clavier. Lorsque vous arrivez à la liste, commencez à taper des caractères et la liste dactylographiera en fonction du symbole que vous recherchez.
Si votre fenêtre affiche à la fois la vue de détail et la vue de l'éditeur, vous pouvez zoomer sur l'éditeur pour développer la vue de l'éditeur à la hauteur de la fenêtre. (Ceci 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 entrant
Faites glisser le séparateur (entre la fenêtre de l'éditeur et la liste de fichiers au-dessus) vers le haut.
Obtenez Liste complète des raccourcis clavier Xcode de Colin Wheeler (disponible sous la forme PDF ou PNG). Imprimez-le et gardez-le à un endroit visible (je l'ai sur le mur à côté de mon écran).
Ce n’est pas vraiment un raccourci clavier, mais les commentaires TODO de la source apparaissent dans la liste déroulante méthode/fonction en haut de l’éditeur.
Donc par exemple:
// TODO: Some task that needs to be done.
s'affiche dans la liste déroulante des méthodes et fonctions afin que vous puissiez y accéder directement.
La plupart des Java IDE 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.
⌘- [et ⌘-] pour mettre en retrait et annuler le texte sélectionné. Facilite le nettoyage du code source beaucoup.
Maintenez Option tout en scindant les fenêtres pour scinder verticalement plutôt qu'horizontalement.
Double-cliquez sur les crochets ou les parenthèses pour obtenir la correspondance crochet/parenthèse.
Contrôlez l'éditeur de texte 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
"Ctrl + Flèche Gauche/Droite" pour faire la navigation de texte intra-Word. J'utilise cette fonctionnalité pour passer du curseur de "camel bosse" d'une variable à la suivante.
Faites un clic droit sur une variable de votre fonction et cliquez sur éditer tout dans l'étendue. Je l'utilise beaucoup depuis que j'ai découvert ça.
ctrl⌘T
Xcode prend en charge les macros de texte pouvant être appelées via le menu Insérer une macro de texte à la fin du menu Édition. Ils peuvent également être appelés à l'aide de Code Sense, la technologie de complétion de code de Xcode.
Par exemple, en tapant la séquence de touches p i m control-period
, vous insérerez #import "file"
dans votre code, avec file
en tant que jeton éditable, comme pour la complétion de code.
Vous pouvez faire en sorte que Xcode exécute le préprocesseur sur votre fichier Info.plist:
<key> CFBundleShortVersionString </ key> #ifdef DEBUG <string> 1.0 (débogage) </ string> #else < string> 1.0 </ string> #endif
Voir http://developer.Apple.com/technotes/tn2007/tn2175.html pour plus de détails.
Débogage - comment utiliser GDB
Etant nouveau dans ce domaine, je trouve que le piégeage et l'identification des fautes sont un travail plutôt décourageant. La console, bien qu’il s’agisse d’un outil puissant, ne donne généralement pas des résultats très intuitifs et il peut être tout aussi difficile de comprendre ce que vous regardez dans le débogueur. Avec l'aide de certains d'entre eux sur Stack Overflow et le bon article sur le débogage que l'on peut trouver sur Cocoa With Love , il devient un peu plus convivial.
Naviguez entre les fichiers ouverts:
⌥⌘ ←
⌥⌘ →
Techniquement, c'est un conseil d'Interface Builder, mais ce sont des livres identiques, donc je ne pense pas que cela soit hors sujet ...
Maj + Clic droit sur l'un de vos contrôles et vous obtenez une liste de sélection Nice de la hiérarchie des objets. Plus de clic, clic, clic, 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 afficher uniquement votre projet actif. Cela vous donne une vue moins encombrée tant que vous voulez seulement parcourir la hiérarchie des classes.
[
à l'emplacement correctJe viens d'un contexte .NET, je suis donc habitué à taper un symbole, puis l'un des noms de ses méthodes. Donc, j'oublie toujours d'inclure le [
avant de commencer à saisir le nom de l'objet. Habituellement, cela signifiait que je devais aller au début de la ligne et ajouter le [
manuellement. Je ne savais pas que je pouvais appuyer sur ] à la position actuelle du curseur, et il sera ajouté automatiquement.
Il y a moyen d'utiliser ceci: soit après avoir tapé le nom de la fonction, soit juste avant de saisir le nom de la fonction.
myObject testMethod
]
... devient:
[myObject testMethod]
... avec le curseur placé après le ]
.
myObject
]
... devient:
[myObject ]
... avec le curseur placé à droite 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 l'achèvement du code immédiatement après myObject
, il ne sera pas filtré. Un autre avantage de (2) est qu'il se comporte davantage comme les autres langages de programmation utilisant la notation par points. Vous tapez le nom de l'objet puis simplement ] au lieu de . accéder à une méthode.
Sélectionnez un bloc de texte et tapez cmd-/pour le commenter. Recommencez pour supprimer les caractères de commentaires.
Ceci est particulièrement utile lorsqu'il est associé à une correspondance d'accolade en double-cliquant sur des caractères équilibrés (parenthèses, accolades, parenthèses).
Ê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 super-classe qui commencent par "ta" telles que
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Cela fonctionne également lors de l'adoption de protocoles.
Command ⌘alt ⌥shiftT : révéler le fichier en cours d'édition dans l'arborescence du projet.
ctrl + alt + ⌘ + r effacer le journal
La documentation de référence sur les API d'Apple n'indique pas les méthodes héritées d'une superclasse. Parfois, cependant. il est utile de pouvoir visualiser la gamme complète des fonctionnalités disponibles pour une classe, y compris une classe personnalisée. Vous pouvez utiliser le Navigateur de classes (dans le menu Projet) pour afficher une liste simple ou hiérarchique de toutes les classes associées à un projet en cours. Le volet supérieur situé dans la partie droite 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 d'options de configuration pour sélectionner "Afficher les membres hérités" afin d'afficher les méthodes héritées ainsi que celles définies par la classe sélectionnée. Vous cliquez sur le symbole du petit livre pour accéder à la documentation correspondante.
Lorsque vous utilisez Code Sense avec plusieurs claviers, utilisez control + , pour afficher la liste des finitions disponibles, control + . d'insérer l'achèvement le plus probable, et control + / Et shift + control + / pour passer d'un jeton à l'autre. Les touches sont toutes ensemble sur le clavier, juste sous la rangée de base, ce qui est bon pour la mémoire musculaire.
Cela va sans dire, mais si vous souhaitez utiliser la navigation intra-Word, veillez à modifier les préréglages de clé dans Spaces (dans le volet de préférences Expose & Spaces), si vous l'utilisez.
J'ai changé d'espaces pour utiliser Ctrl-Option Gauche/Droite.
Édition: pour définir les espaces sur Ctrl-Option Gauche/Droite, sélectionnez la fenêtre "Pour basculer entre les espaces:" et maintenez la touche Option enfoncée. Le premier élément passera des touches fléchées Ctrl aux touches fléchées Ctrl-Option.
Imprimer Liste complète des raccourcis clavier Xcode et placez-le à côté de votre moniteur.
marque pragma
Exemple:
#pragma mark === Initialization ===
L’écriture de cette ligne avant toutes les méthodes d’initialisation générera un titre Nice dans le menu déroulant au-dessus de l’éditeur.
Ouvrir rapidement
Maj + cmd + D Commencez à saisir le nom du fichier que vous souhaitez ouvrir. Très cool si vous recherchez des en-têtes de cadre. Ils ont aussi de bons commentaires, parfois des informations supplémentaires à la documentation.
ESC
Par exemple, lorsque votre curseur de texte utilise un nom de méthode incomplet, appuyez sur ÉCHAP. Il va stocker tout ce qui pourrait s'y trouver et vous pouvez rapidement compléter de très grands noms de méthodes. C'est également utile si vous ne vous souvenez pas du nom exact d'une méthode. Appuyez simplement sur ESC.
Je pense que ce sont les meilleurs que je connaisse jusqu'à maintenant.
(Migration de la question supprimée par l'utilisateur du débordement de pile Merci.)
Cmd-/pour insérer automatiquement "//" pour les commentaires. Techniquement, le même nombre de frappes, mais cela semble plus rapide ...
La structure de projet par défaut consiste également à placer les ressources et les fichiers de classe à des emplacements distincts. Pour des quantités de code plus importantes, créez des groupes logiques et rassemblez les fichiers de code et xib associés. Les groupes créés dans XCode ne sont que des structures logiques et ne modifient pas l'emplacement de vos fichiers sur le disque (vous pouvez cependant les configurer pour répliquer une structure de répertoires réelle si vous le souhaitez).
Cela fonctionne dans toutes les applications Cocoa, mais je l'aime particulièrement lors du codage. Utilisation ^T (Ctrl + T) pour échanger les deux lettres adjacentes au curseur, ou lorsque le curseur est à la fin, les deux lettres précédant le curseur. Par exemple:
fi
^T
... devient:
if
... qui est une faute de frappe commune que je fais.
cdespinosa la réponse de Stack Overflow Comment déboguer avec NSLog (@ “Inside of the iPhone Simulator”)? donne une méthode pour une technique de débogage via journalisation qui ne nécessite aucune recompilation de source. Un truc incroyable qui garde le code libre de tout débogage, a un revirement rapide et m'aurait évité d'innombrables maux de tête si je l'avais su plus tôt.
Préfixer un commentaire avec TODO:
le fera apparaître dans le menu déroulant de la fonction "raccourci", comme suit:
int* p(0); // TODO: initialize me!
Cliquez avec le bouton droit sur n'importe quel mot et sélectionnez "Rechercher le texte sélectionné dans la référence d'API" pour rechercher dans l'API ce mot. Ceci est très utile si vous devez rechercher les propriétés et/ou les méthodes disponibles pour une classe. Au lieu d'aller sur Apple.com ou Google, vous obtiendrez une fenêtre contextuelle indiquant ce que vous cherchiez (ou ce qui avait été trouvé).
Pour moi, ça a toujours été: Command ⌘ + :
Après le débogage, l'exécution ou autre chose, si vous quittez iPhone Simulator ou l'application de débogage, la fenêtre du débogueur vous reste.
Lorsque vous utilisez la "disposition à fenêtre unique", vous devez revenir à l’éditeur en effectuant un clic dans la barre d’outils, ce qui est gênant (vous devrez ensuite "supprimer le volet de détail").
Le raccourci ci-dessus le fait et vous laisse prêt à coder.
Construire le bruit succès/échec; du terme:
defaults write com.Apple.Xcode PBXBuildSuccessSound ~/Library/Sounds/metal\ stamp.wav
defaults write com.Apple.Xcode PBXBuildFailureSound ~/Library/Sounds/Elephant
Dans PyObjC , vous pouvez utiliser l'équivalent de #pragma mark
pour le menu déroulant des symboles:
#MARK: Foo
et
#MARK: -
⌘` pour formater (réindentir) correctement votre code
EDIT: La fonction de réindentation apparente (Édition> Format> Réindentation) n'a pas de raccourci par défaut. Je suppose que j'en ai assigné un (dans Préférences> Liaisons de touches) il y a longtemps et je ne m'en souviens même pas. Désolé de vous avoir induit en erreur.
Cmd + Ctrl + up / down effondre toutes vos fonctions ou les décompose.
Être en mesure de scinder la fenêtre de l'éditeur en cours horizontalement, ce qui est idéal pour les moniteurs à écran large afin de pouvoir afficher côte à côte le fichier source et le fichier d'en-tête. Il existe deux méthodes différentes selon la version de Xcode que vous utilisez.
Dans Xcode 3.0, il se trouve sous Préférences, Liaisons de touches, Liaisons de texte, au bas de la liste.
Dans Xcode 2.5, il se trouve sous Préférences, raccourcis clavier, raccourcis clavier, menu Affichage.
Un de plus .... Sélecteur de couleur hexagonale ... il ajoute l'onglet hexadécimal au panneau de couleur de votre constructeur d'interface ... vous pouvez donc maintenant utiliser la couleur hexadécimale directement à partir d'Interface Builder ..
Pour ouvrir la fenêtre de débogage au démarrage du débogueur Modifiez les préférences de débogage affichées dans l'image.
Pour effacer le journal de la console à chaque exécution de l'application, cochez la case Auto Clear Debug Console.
⇧⌘A. Il va construire et analyser, ce qui signifie que Xcode vous avertira des fuites possibles.
Je viens de découvrir comment modifier le comportement d'indentation utilisé dans les macros de texte:
Par exemple, si vous êtes comme moi et n'aimez pas ceci:
if (cond) {
code;
}
mais préférez ceci à la place:
if (cond)
{
code;
}
vous pouvez ensuite changer cela globalement (pour toutes les langues) en définissant les valeurs par défaut suivantes dans le terminal:
defaults write com.Apple.Xcode XCCodeSenseFormattingOptions -dict-add BlockSeparator "\n"
Cela me dérange depuis des années, j'espère que cela intéressera également quelqu'un d'autre.
La documentation de cette fonctionnalité est disponible dans le Xcode User Default Reference
Mettez en surbrillance des blocs de code (la sélection suit)
Activez l'option "Suivre la sélection" dans la vue -> Pliage du code -> La mise au point suit la sélection ou ControlOptionf.
Cela fonctionne également pour le code Python, mais les espaces en début de ligne le jetteront. Pour résoudre ce problème, installez plug-in Xcode de Google et activez l'option "Corriger les espaces blancs lors de l'enregistrement" dans les préférences qu'il installe. Cela effacera les espaces de fin chaque fois que vous enregistrez un fichier. Par conséquent, si la mise en surbrillance est gâchée, vous pouvez simplement enregistrer le fichier et il fonctionnera à nouveau. (Et voyez, c’est en fait deux astuces en une, parce que cette fonctionnalité du plugin est utile pour avoir seule).
Voici un exemple avec du code Python aléatoire que je viens d'écrire. J'utilise le thème de coloration de la syntaxe Midnight Xcode.
Ceci est vraiment utile pour les parties hautement imbriquées du code, pour garder une trace de ce qui est où. Remarquez également qu'à gauche, juste à droite des numéros de ligne, ces parties sont également colorées. C'est la barre de pliage du code. Si vous passez votre souris sur le côté, cela met en évidence la partie sous la souris. Et n'importe laquelle de ces barres colorées peut être pliée, autrement dit, les parties du code mises en surbrillance sont exactement les parties pouvant être pliées.
Le formatage du code Xcode ... est l’une des choses dont vous avez besoin pour rendre votre code lisible et beau.
Vous pouvez faire le formatage du code vous-même ou gagner du temps en utilisant des scripts.
Un bon moyen est de… utiliser ncrustify . Cela est expliqué dans Formatage de code dans Xcode.
Si vous avez un Mac multi-touch capable - utilisez MultiClutch pour mapper certaines des frappes de touche décrites par les gestes de la souris.
J'utilise trois doigts en avant et en arrière pour aller de l'avant en arrière dans l'historique des fichiers (cmd-alt-.), Et pince pour basculer entre .h
et .m
.
Le menu User Scripts contient de nombreux avantages et il est relativement facile d'ajouter les vôtres. Par exemple, j'ai ajouté un raccourci et l'a lié à cmd-opt-- pour insérer un séparateur de commentaires et un #pragma mark
dans mon code afin de décomposer rapidement un fichier.
#!/bin/sh
echo -n "//================....================
#pragma mark "
Lorsque je tape cmd-opt--, ces lignes sont insérées dans mon code et le curseur est pré-positionné pour éditer le composant pragma mark, qui apparaît dans la fenêtre contextuelle du symbole.
Utilisez AppKiDo pour parcourir la documentation.
Utilisez Accessorizer pour un tas de tâches banales et répétitives dans Xcode.
Pour afficher les options de complétion automatique actuelles dans un menu contextuel par défaut (sans avoir à appuyer sur ESC premier), tapez
defaults write com.Apple.Xcode XCCodeSenseAutoSuggestionStyle List
dans le terminal et redémarrez Xcode.
Une autre façon de définir le nom de votre société dans un modèle de projet consiste à:
Cela devrait maintenant ajouter le nom de votre société à tous vos modèles de projet et fournir aux autres applications davantage d'informations de remplissage automatique!
Découvrez un screencast de Nice sur "devenir productif dans Xcode": devient-productif dans xcode
Lorsque vous utilisez la complétion de code sur une méthode et que celle-ci comporte plusieurs arguments, utilisez CTRL +/pour passer à l'argument suivant à renseigner.
(Dans le volet Groupes et fichiers, ouvrez le triangle d'affichage des cibles pour afficher les cibles associées à votre projet.)
(Cela n'était pas disponible il y a deux ans, mais cela vaut néanmoins la peine d'être signalé comme un gain de temps considérable en trouvant le framework dans le système de fichiers et en le faisant glisser dans le projet ...)
J'adore aussi le "re-indent". Certes, il n’existe aucun raccourci par défaut, mais vous pouvez en ajouter un à partir de l’onglet onglet Reliure clavier du panneau de préférences Liaisons de clavier.
Ce qui est un gain de temps tout seul. Il suffit de rechercher vos actions préférées et d'ajouter/modifier des raccourcis clavier!
Les réglages par défaut que je trouve utiles sont CMD + "et CMD + 'pour ajouter/supprimer des divisions verticales. Maintenez cette option enfoncée et vous avez maintenant la même chose pour l’horizontale. Mais si ces gestes ne fonctionnent pas pour vous, vous pouvez toujours change les.
Lorsque vous tapez une méthode, appuyez sur Echap pour voir les options de complétion de code (cela a sans doute été mentionné auparavant). Je savais déjà cela, mais AUJOURD'HUI, j'ai découvert que si vous appuyez sur le bouton dans le coin inférieur droit de la fenêtre de complétion de code (ce sera soit un "A", soit un Pi), vous pouvez basculer entre le tri alphabétique et le suivant. semble être en train de trier par hiérarchie de classe.
Tout à coup cette fenêtre est utile!
Ctrl-gauche/Ctrl-droite pour naviguer dans les mots d'un nom de variable ou de méthode. Je ne peux pas vivre sans celui-ci.
Ctrl + R pour exécuter le texte sélectionné en tant que script Shell qui retourne avec la sortie collée après la sélection!
Sélectionnez un bloc de texte et utilisez
Command + '/'
Pour commenter le bloc de texte. Sélectionnez le bloc commenté et utilisez le même raccourci pour le supprimer.
Dans les phases de construction de Shell, vous pouvez écrire sur stderr en utilisant le format suivant:
<filename>:<linenumber>: error | warn | note : <message>\n
C'est le même format utilisé par gcc pour afficher les erreurs. Le nom de fichier: partie linumber peut être omis. En fonction du mode (erreur, avertir, note), Xcode affichera votre message avec un badge rouge ou jaune.
Si vous incluez un chemin de fichier absolu et un numéro de ligne (si l'erreur s'est produite dans un fichier), un double clic sur l'erreur dans le journal de construction permet à Xcode d'ouvrir le fichier et de passer directement à la ligne, même si elle ne fait pas partie du projet. Très utile.
En ce qui concerne la fonctionnalité " Ouvrir rapidement " - c'est génial, mais j'ai toujours manqué le cmd-shift-t de TextMate pour parcourir les projets et les fichiers (symboles, méthodes, etc.).
C'est pourquoi j'ai publié un plugin Xcode qui fournit justement cela. Cela s'appelle Code Pilot et vous voudrez peut-être jeter un coup d'œil à celui-ci: http://macoscope.net/fr/mac/codepilot /
Vous pouvez apporter de nombreux ajustements à la manière dont Xcode traite le formatage de votre code, mais uniquement si vous modifiez les paramètres via la ligne de commande. J'ai concocté un petit programme qui vous permet de les ajuster à votre guise. Prendre plaisir :)
Cmd + ~ (tilde - semble bizarre sur le bouton ...)
Pour basculer entre toutes les fenêtres Xcode ouvertes, même lorsque plusieurs projets sont ouverts.
Reculer ou avancer un mot complet avec alt-. Reculer ou avancer un fichier de votre historique avec cmd-alt-. Basculez entre interface et implémentation avec cmd-alt-.
Passez à la prochaine erreur dans la liste des erreurs de construction avec cmd- =. Affichez le panneau de recherche multiple avec cmd-shift-f. Basculez la visibilité complète de l'éditeur avec cmd-shift-e.
Accédez à l'onglet Projet avec cmd-0, à l'onglet Construction avec cmd-shift-b et à l'onglet de débogage avec cmd-shift-y (les mêmes que les commandes clavier de l'action, avec décalage ajouté).
J'ai créé mes propres modèles de fichiers pour NSObject
, UIView
et UIViewController
de sorte que lorsque je crée de nouvelles classes, les fichiers sont tous configurés avec des sections privées et la journalisation de l'adresse de la classe dans init et dealloc.
Exemple (la classe dérivée NSObject
nommée 'test' démarrera comme ceci):
//=====================================================
// Private Interface
//=====================================================
@interface test (private)
@end
//=====================================================
// Public Implementation
//=====================================================
@implementation test
- (void)dealloc {
NSLog(@">>> Dealloc: test [0x%X]", self);
[super dealloc];
NSLog(@"<<< Dealloc: test");
}
- (id) init
{
self = [super init];
if(self) {
NSLog(@">>> Alloc: test [0x%X]", self);
}
return self;
}
@end
//=====================================================
// Private Implementation
//=====================================================
@implementation test (private)
@end
Par exemple, de nombreuses ressources sont disponibles Cocoa dev: concevez vos propres modèles de projet Xcode.
Quelques astuces à trouver dans Astuces sur les outils Xcode.
Triez le contenu des groupes dans le volet Groupes et fichiers de Xcode en sélectionnant Groupe, puis Édition> Trier par> Nom.
Vous vous attendriez à trouver cela dans le menu contextuel du groupe, mais ce n'est pas là.
Crédit: Tri des fichiers dans Xcode.
Alt-Gauche et Droite pour aller à la fin/début de la ligne. Ceci avec les touches CTRL-Gauche et Droite pour passer à la lettre majuscule ou au saut de mot suivant. ces deux-là me font gagner beaucoup de temps
Utilisez la ligne de commande xcodebuild pour effectuer une nouvelle génération sur la machine de construction partagée:
cd project_directory
xcodebuild -configuration Release -alltargets clean
xcodebuild -configuration Release -alltargets
Si le hilighting est gâché, si vos ivars ne le sont pas ou autre chose, faites simplement ⌘-A ⌘-X ⌘-V, qui sélectionnera tout, coupera et collera et tout le hilight sera corrigé. Alors maintenez simplement et appuyez sur A puis X puis V.
Appuyez sur ⌥⇧⌘D pour activer "Open this Quickly", ce qui vous permet d'accéder au premier résultat de "Open Quickly" en utilisant le texte sélectionné. Si le texte sélectionné est au format <filename:lineNumber>
, (avec ou sans <>) "Ouvrir rapidement ce fichier" vous renvoie au fichier plus le numéro de ligne.
Vous pouvez combiner cela avec le conseil suivant:
Vous pouvez écrire des journaux contenant le nom de fichier et le numéro de ligne de l'entrée de journal à l'aide de cette macro: (Assurez-vous de définir -DDEBUG = 1 sur les drapeaux C utilisés dans la configuration de débogage de votre cible.)
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s <%@:%d> " fmt), __PRETTY_FUNCTION__, [[NSString stringWithFormat:@"%s", __FILE__ ] lastPathComponent] ,__LINE__, ##__VA_ARGS__)
#else
#define DLog(format, ...)
#endif
Dans votre sortie DLog (), double-cliquez sur le caractère "<" pour sélectionner le <filename:lineNumber>
et appuyez sur ⌥⇧⌘D pour ouvrir la ligne où se trouve le journal dans le code source.
Mes favoris doivent être ces raccourcis d'éditeur général:
Je n'aime pas vraiment la fonctionnalité de formatage/réindexage du code intégrée à xcode. J'ai donc trouvé très utile d'utiliser uncrustify comme formateur de code. Il peut être utilisé comme script utilisateur: http://hackertoys.com/2008/09/18/adding-a-code-beautifier-script-to-xcode/
Je trouve que l'utilisation des raccourcis pour construire/nettoyer et exécuter votre projet m'a vraiment fait gagner du temps:
+ ⌥ + ⇧ + clic sur un symbole
Montre
Vous pouvez choisir d'ouvrir le symbole dans:
Je ne sais pas si tout le monde le sait déjà, mais j'ai été ravi d'apprendre que je pouvais utiliser le "pliage de code" et masquer les fonctions imbriquées que je ne voulais pas regarder en cliquant sur la zone grise la plus proche du code que vous voulez. plier.
Difficile à expliquer . . .
Instantanés, Fichier> Créer un instantané, offre un moyen rapide d’enregistrer une révision de votre projet si vous n’utilisez pas un système de contrôle de version adéquat. Un excellent moyen d'expérimenter un changement important et potentiellement dommageable.
Le fait que je puisse utiliser Emacs en tant qu'éditeur et Xcode en tant que constructeur/débogueur ... Le meilleur des deux mondes, à mon humble avis.
La liste complète des raccourcis se trouve ici: http://iphonehuston.blogspot.com/2009/08/shortcuts-for-xcode.html
Renommez un fichier partagé par plusieurs projets: