Quelques astuces d'utilisation de Xcode

CéroceCé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.

Réponses

  • AliGatorAliGator Membre, Modérateur
    Tant qu'on est dans les astuces, saviez-vous que la fonction "Rechercher" de Xcode peut rechercher bien plus que du texte ?

    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 :
  • MayerickMayerick Membre
    octobre 2014 modifié #3
    Vous êtes vraiment des tueurs, respect et merci pour ces deux astuces bien utiles !!

    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 ! ^^).
  • CéroceCéroce Membre, Modérateur
    Personnellement, je laisse toujours le volet de navigation ouvert (t'as un MacBook Air 11" pour coder ?).
    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)

  • CéroceCéroce Membre, Modérateur
    Autre astuce: Open Quickly, puis choisissez le fichier en maintenant option appuyée: ça s'ouvre dans une nouvelle fenêtre.
  • AliGatorAliGator Membre, Modérateur
    octobre 2014 modifié #8
    Perso :
    • Contrairement à  pas mal de personnes qui laissent le volet de navigation tjs ouvert, moi je le ferme souvent quand j'ai besoin de place, et du coup j'utilise le fil d'Ariane en haut
    • pour naviguer (qui est souvent sous-utilisé par la plupart des gens)
    • 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 :P
  • colas_colas_ Membre
    octobre 2014 modifié #9

    Perso, 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


  • AliGatorAliGator Membre, Modérateur

    Comment faire une recherche dans les .xib ?

    Bah heu Pomme-F. Depuis Xcode 6, la recherche de Xcode recherche aussi dans les XIB, pas que dans le code. 

    Espace insécable ?

    Alt-Espace, comme dans n'importe quelle application Cocoa (ça marche aussi dans Word & co, un peu partout en fait)

    Compiler sans ARC un fichier .m

    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.
     

    Désactiver les warnings

    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.


  • AliGatorAliGator Membre, Modérateur
    octobre 2014 modifié #12

    • 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

    Bah dans ces cas-là  il faut les podifier d'urgence.

    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)
  • MayerickMayerick Membre
    octobre 2014 modifié #13

    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.


  • MayerickMayerick Membre
    octobre 2014 modifié #14

    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


  • MayerickMayerick Membre
    octobre 2014 modifié #16

    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:


    562330grab.png


     


  • Déterrage de topic en profondeur. :D
    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:

    • sans pavé numérique: cmd-ctrl-arobase
    • avec pavé numérique: cmd-0

    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 ! :)

Connectez-vous ou Inscrivez-vous pour répondre.