Script pour Xcode et une Macro

Hello!

J'en avais marre de taper constamment mes NSLog ou de les copier-coller depuis ailleurs dans le code mais de devoir effacer les arguments présents...

Voici donc un petit script tout simple qui insérera "NSLog(@";");" là  où se trouve le curseur dans votre code et remplacera éventuellement la sélection.

Ce script apparaà®t dans le menu script d'Xcode, dans le sous-menu Code mais on y accède grâce au raccourci commande-@ (vous pouvez personnaliser le raccourci dans la valeur de la variable PBXKeyEquivalent).
  • Dans Xcode créez un nouveau fichier en choisissant "New Empty File" dans le menu "File", puis tapez ceci:
    <br />#! /bin/sh<br />#<br /># NSLog.sh - Adds an empty NSLog.<br />#<br /># -- PB User Script Info --<br /># %%%{PBXName=Paste NSLog}%%%<br /># %%%{PBXOutput=ReplaceSelection}%%%<br /># %%%{PBXKeyEquivalent=@&#092;@}%%% (Command-@)<br /># %%%{PBXArgument=-h}%%%<br /><br />echo &quot;NSLog(@&#092;&quot;&#092;&quot;);&quot;<br />
    

  • Ensuite, faites "Save As..." et donnez-lui le nom et l'extension "40-NSLog.sh";

  • Sauvez-le dans Bibliothèque:Application Support:Apple:Developper Tools:Scripts:10-User Scripts:40-Code: (pas dans le dossier Bibliothèque de votre dossier utilisateur mais dans celui qui se trouve à  la racine de votre disque dur, dans la même fenêtre que le dossier Developer).

  • Vous pouvez modifier le nombre 40: il indique la position de l'article dans le menu, mais je ne sais pas ce qui se passe quand deux articles ont le même numéro, sûrement qu'ils apparaissent alors dans l'ordre alphabétique...



Autre truc, pour localiser les chaà®nes de texte, vous utilisez sûrement
NSString *NSLocalizedString(NSString *key, NSString *comment)

Si comme moi vous n'utilisez pas l'argument comment, il est possible de définir une macro comme par exemple:
#define FLLocStr(key) NSLocalizedString(key, nil)


qui, en plus d'avoir un nom moins long et plus rapidement complété, vous permettra de ne mentionner que l'argument key. Vous pouvez mettre ce que vous voulez à  la place de "FLLocStr".

Cette technique peut être étendue à  d'autres raccourcis qui vous seraient utiles.

Vous pouvez combiner ces 2 astuces et créer un script qui insérera directement FLLocStr(@";").

Désolé pour les pros, mais j'ai essayé de donner un maximum d'indications pour les moins expérimentés...

Flofl.

Réponses

  • ClicCoolClicCool Membre
    03:47 modifié #2
    [size=12pt]Bienvenu sur Objective Cocoa cestlogique[/size]  :D

    Et merci pour tes astuces, je teste ça dès ce soir :)

    J'avais jamais pensé à  la possibilité d'utiliser ces scripts pour enrichir Xcode.

    Merci 
  • cestlogiquecestlogique Membre
    03:47 modifié #3
    C'est avec plaisir, ClicCool. :) À propos, je suis wdyp de MacFr... ;)

    Sinon, pour compléter, je viens de retrouver la doc où tout est expliqué: http://developer.apple.com/documentation/DeveloperTools/Conceptual/CustomizingXcode/Concepts/Scripts.html
    notamment comment personnaliser les raccourcis des menus. Ne pas hésiter à  jeter un ½il sur les autres scripts du dossier indiqué, c'est comme ça que j'ai pondu le mien, étant donné que je ne suis pas fort en commandes unix...
  • ClicCoolClicCool Membre
    septembre 2004 modifié #4
    dans 1095439926:

    C'est avec plaisir, ClicCool. :) À propos, je suis wdyp de MacFr... ;)

    Comme on se retrouve ! ;)

    eh bien Bienvenu à  toi sur OC   :D

    [EDIT] oups j'ai cliqué sur message au lieu de prévisualiser  :P
    Je voulais tout de même te remercier aussi pour le lien vers la doc des shell script pour Xcode.
    On devrait prendre plus de temps pour lire les docs  ;)
  • 03:47 modifié #5
    Encore un cocoateux de MacFR qui vient ici ;). J'ai l'impression qu'on assiste à  un phénomène de migration massive :P.
  • cestlogiquecestlogique Membre
    03:47 modifié #6
    dans 1095440743:

    Encore un cocoateux de MacFR qui vient ici ;). J'ai l'impression qu'on assiste à  un phénomène de migration massive :P.


    C'est parce que je ne voyais plus aucune activité de l'autre côté que je suis venu ici, j'étais déjà  venu sur OC mais au départ ça débutait juste, maintenant c'est ici que les choses se passent...

    J'aime bien ce forum sauf que mes apostrophes et mes trois points typographiques sont traduits en ?. Je vais le signaler dans la rubrique adéquate...
  • 03:47 modifié #7
    Excellent !
Connectez-vous ou Inscrivez-vous pour répondre.