Quelques astuces d'utilisation de Xcode
Céroce
Membre, Modérateur
Une astuce offerte au passage: associez le raccourcis ctrl-R à la commande Edit > Refactor > Rename... dans les préférences de Xcode. Gros gain de temps.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
En particulier j'aime bcp faire des recherches par Références, utile pour rechercher toutes les occurrences d'une propriété ou autre, ou même pour rechercher tous les endroits où un setter comme "setSession:" est appelé... même si c'est au travers de la syntaxe "object.session = ..." et non pas "[object setSession:...]" !
Illustration :
D'ailleurs peut-être que vous aurez la solution à un petit problème avec les raccourcis xCode. Comment fait-on pour faire apparaà®tre et disparaà®tre le volet de navigation sur un clavier de macbook ou un clavier sans pavé numérique ? Avec le clavier filiaire de l'iMac je fais cmd-0 et ça fonctionne. Mais sur macbook ou clavier sans fil, pour faire un 0 il faut appuyer sur maj-0, sauf que cmd-maj-0 est définit comme l'ouverture de l'aide xCode, et pas moyen de changer ça. Quelqu'un aurait une idée ? Car c'est vraiment ultra pratique tout ces raccourcis clavier quand on fait 200 fois la même action par jour (afficher la console de débug, cacher/afficher les utilitaires assistant et navigateur, build, compil, stop, cut, multiple sélection, aller à la counterpart ou à la page précédente/suivante... Tant de raccourcis et bien d'autres dont je ne me passerai pour rien au monde, j'aime les raccourcis clavier ! ^^).
As-tu essayé de changer les raccourcis clavier par les Préférences Système > Clavier > Raccourcis ?
Oui je me posais la même question que Mayerick, je travail sur un 15 pouces plus un écran externe de 19 pouces de moins bonne qualité, et je manipule toujours ces volets, 200 fois par jour ça me parait honnête comme chiffre ^^
Ma commande préférée "Open Quickly" (⇧⌘O)
- Y'a plein de plugins sympas, cf Alcatraz ou ceux listés sur l'article dédié de NSHipster, entre autres un sympa c'est BBUDebuggerTuckAway pour que le debuggeur disparaisse tout seul dès qu'on commence à taper du code
- De manière générale, pensez aux Behaviors (menu Xcode > Behaviors) :
- Vous pouvez mettre des Behaviors qui sont déclenchés sur un raccourci clavier (par exemple un Behavior qui maximise l'espace en enlevant les navigateurs de gauche et l'inspecteur de droite et la console tout ça d'un seul raccourci clavier, un autre Behavior avec un autre raccourci pour à l'inverse réafficher navigateur + inspecteur d'un coup...)
- vous pouvez faire un Behavior qui se déclenche à chaque Build&Run pour par exemple afficher la Console dans une fenêtre à part dédiée ou dans un onglet dédié, plutôt qu'en bas de l'écran, ou un qui joue un son (ou prononce une phrase) quand le Build Fail et un autre son ou prononce une autre phrase quand le Build Succeed, etc, etc...
- Utilisez les Snippets de Xcode, et ajoutez-leur un préfixe d'autocomplétion !
- Utilisez les Breakpoints, y compris les Breakpoints qui font des actions (jouer un son, prononcer un truc, afficher un truc dans la console, ...) sans arrêter le code pour autant. Par exemple un breakpoint sonore pour jouer un son à chaque fois que vous passez dans la méthode drawRect:, juste pour être tenu au courant par un son et savoir si elle est appellée souvent, sans pour autant arrêter le code à chaque fois (d'autant qu'arrêter le code dans ce cas va vous faire revenir sur Xcode et donc risque de redéclencer drawRect: au prochain coup quand vous reviendrez sur le simulateur car il aura besoin de se redessiner... alors qu'en vrai ça n'aurait pas été le cas, ...)
- Dans les Prefs de Xcode, perso j'ai associé à la touche "Option" non pas le comportement par défaut qui ouvre le fichier cliqué dans l'assistant, mais qui l'ouvre dans un nouvel onglet. Je trouve ça + utilse de faire Opt-Clic et que ça ouvre dans un autre onglet que dans l'Assistant.
- Open Quickly (Cmd-Maj-O) est un MUST !! Et comme l'a indiqué Céroce, avec Option ça ouvre dans un nouvel onglet. Et plus fort encore, avec Alt-Maj ça vous propose un petit widget pour vous demander où l'ouvrir !!
- De manière générale, [b°Alt-Maj quand on ouvre un fichier[/b] propose ce petit widget pour demander où ouvrir le fichier : nouveau tab ? tab existant ? assistant ? nouvelle fenêtre ?
Bon j'en ai certainement plein d'autres auxquelles je penserai plus tard, mais c'est déjà pas mal :PPerso, je m'organise en ayant plein d'onglets (cf. picture).
Je suis d'accord que les raccourcis clavier sur un macbook pro (ma situation) c'est pas pratique du tout, et que j'en utilise malheureusement très peu...
J'utilise uniquement
- pomme-R (compiler)
- pomme-shit-K (clean)
- control-R : merci Céroce !!!
J'ai désactivé pomme-W car ça me faisant perdre mon organisation en onglets qui est maintenant protégée.
ça m'intéresserait de savoir quels raccourcis clavier vous utilisez !!
Autres astuces :
- un petit fichier todo (rtf) dans le projet et dans un onglet toujours ouvert
- un petit fichier help (rtf) qui est dans le projet et dans un onglet toujours ouvert, et dans lequel on note les commandes genre
Comment faire une recherche dans les .xib ?
• grep -i -r --include=*.xib "titleOrNotitle" /"Users/colas/MyApp"
•
Espace insécable ?
\u00A0
Compiler sans ARC un fichier .m
disable ARC : -fno-objc-arc
Désactiver les warnings
-w
Alt-Espace, comme dans n'importe quelle application Cocoa (ça marche aussi dans Word & co, un peu partout en fait)
Y'en a qui ont encore besoin de ça ?!
- Si tu utilises un composant qui n'a tjs pas été porté sous, ARC, déjà faut te poser des questions sur ce composant ^^ Et puis de toute façon comme tu intègres ce composant via CocoaPods, CP se charge de mettre les bons flags pour toi.
- Sinon, si c'est pour ton propre code, en général TOUT ton code est en ARC (ou au pire tout ton code est encore en gestion manuelle retain/release si t'es resté dans une cave ces 2 dernières années), mais pas certains fichiers et pas d'autres.
Le seul cas où tu peux avoir certains fichiers d'un projet en ARC et pas d'autres, c'est quand tu intègres des composants externes à ton projet. Mais ça faut le faire avec CocoaPods. Et du coup, il gère ça tout seul. Donc t'as pas besoin de connaà®tre ce flag.
Build Setting -> Inhibit all warnings à YES.
• Tu es un peu extrême Ali, il y a des composants qui ne sont pas podisés et qui sont bien !
cf. https://github.com/gloubibou/HHRoundedBox
• Merci pour l'info sur la recherche dans les xib !!!
• Merci pour l'info sur les espaces insécables.
C'est pas compliqué :
- tu utilises la commande pod spec create HHRoundedBox pour qu'il te crée un modèle de fichier "HHRoundedBox.podspec"
- tu l'édites avec ton éditeur de texte favori pour remplir les différentes infos (auteur, liste des fichiers, dépendances, ...)
- tu le pousses avec pod trunk push
(Et au passage tu envoies un mail à l'auteur pour l'informer que tu as podifié son composant et tu lui fais une Merge Request pour lui proposer d'ajouter le HHRoundedBox.podspec à la racine de son repo)Pas mal toutes ces astuces, merci AliGator. En effet les breakpoints sonores, je ne connaissais pas mais et c'est énorme. Pareil pour la personnalisation en fonction du build&run.
@Céroce : non j'ai un IMac 27" et un MacBook Air 13". J'ai bien regardé les raccourcis claviers dans préférences système et non pas moyens de désactiver la commande d'aide. J'aime bien avoir de la place pour voir différentes fenêtre d'ouvertes, et même je trouve que de voir cette (souvent longue) liste sur la gauche du code, quand on est en mode assistant éditor ça pollue un peu la vue et c'est désagréable. Le problème avec le raccourci hide/show navigator, c'est que j'ai l'impression qu'on ne peut l'utiliser qu'avec un clavier doté d'un pavé numérique, et qu'il est impossible à faire sur un clavier sans fil ou sur un macbook, mais j'aimerai me tromper. A l'inverse par exemple, hide/show the Utilities qui est cmd-alt-maj-0 fonctionne parfaitement et partout ( c'est normal vous me direz, il n'y a pas d'autre raccourci avec les mêmes touches).
@colas2 : franchement je dois utiliser une bonne vingtaine de raccourcis pour xCode et pas mal aussi pour OsX, tous les écrire serait assez long (j'écris depuis un iPad là ). Du coup sincèrement ce que j'ai fais, c'est que j'ai appris tous les raccourcis qui me semblaient utile par coe“ur, ça peut paraà®tre chiant, mais pour peu que tu les utilise en les apprenants, tu gardes la feuille des raccourcis sous les yeux pour le check de temps en temps, et au final l'heure cumulée que tu auras passé à apprendre les raccourcis sera économisée très vite dans tes projets à force d'éviter des déplacements inutiles de souris et de bras (et donc de traumatismes, surtout dans le cas d'un clavier filiaire avec pavé numérique). Voici un lien qui recense les raccourcis xCode : http://www.ipatx.eu/raccourcis-clavier-xcode4/
C'est pour xCode 4 mais tous sont encore valide, je dirais que les deux première colones ainsi que la dernière du premier tableau sont juste indispensables à connaà®tre par coe“ur. Tu verras qu'il y a quand même de la logique dans l'attribution des raccourcis, et cerise sur le gâteau, cette logique se retrouve souvent dans les autres applications OsX. Tu trouvera facilement les raccourcis pour OsX sur le net également.
à‰dit : dans le deuxième tableau, il y a une commande pour stop le simulateur qui est fausse !! La bonne commande est cmd-maj-; ce qui peut aussi s'écrire cmd-. (lorsque que xCode est au premier plan, c'est important ! Si c'est le simulateur qui est au premier plan, les raccourcis de xCode ne fonctionnent pas). Donc certains peuvent ne pas fonctionner, mais la plupart sont bons.
Eurêka, j'ai trouvé. A force d'essayer toutes les combinaisons possibles, j'ai trouvé comment hide/show the navigator sur macbook et clavier sans pavé numérique !
La bonne commande est :
Il y a pas mal d'astuces présentées ici si ça peut aider : http://www.raywenderlich.com/72021/supercharging-xcode-efficiency
Pas mal, je n'avais pas trouvé ce tuto. Merci.
Wahou c'est génial ça ! Y'a pas mal de truc que je connaissais pas mais des petits trucs comme ça qui font gagner pas mal de temps. Vraiment top !
CMD+Shift+F pour faire une recherche dans tout le workspace.
Sinon j'aime bien voir les callers/callees dans un code complexe:
Déterrage de topic en profondeur.
Je cherchais le raccourcis clavier pour ouvrir/fermer le navigateur sur un clavier sans pavé numérique, et je savais que j'avais écris ça une fois ici, mais difficile de retrouver avec la fonction recherche du site. Je suis donc passé par google et j'ai pu mettre la main dessus.
Mais quelle surprise de voir que ma réponse a été effacée et que pas mal de combinaisons sont aujourd'hui illisible !
Du coup j'ai utilisé web.archive.org pour retrouver les commandes que j'avais posté et ça fait bizarre de revoir le site en 2014:
https://web.archive.org/web/20141012032048/http://forum.cocoacafe.fr:80/topic/13007-quelques-astuces-dutilisation-de-xcode/
Le fait est que j'ai ma commande, et que pour ouvrir/fermer le navigateur sur clavier:
En prévisualisant ma réponse je me rends compte que le site enlève ce qui lui semble être une adresse mail, ce qui explique que ma réponse ait disparue, impossible d'écrire le raccourci normalement ou alors avec des guillemets inutiles: cmd-ctrl-"@"
Bonne plongée dans le passé à tous !