Xcode 8 : Les nouveautés

Intégrer l'éditeur de texte

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Pour éditer du texte, les utilisateurs de Xcode se servaient du plug-in Alcatraz. Désormais, Apple intègre cette fonction dans Xcode et vous propose une API.

Transcription

Une des grandes nouveautés de Xcode 8, c’est ce qu’on appelle les Editor Extensions. Alors pour certains d’entre nous, ce n’est pas une nouveauté puisqu’on avait déjà quelque chose de similaire qui était Alcatraz. C’est donc un package manager pour Xcode. C’est quelque chose qui existait depuis je pense avant Xcode 7, même si sur le site web il est marqué, alors c’est un petit peu perturbant, que Alcatraz fonctionne pour Xcode 7+. Sauf que si vous essayez d’installer Alcatraz sur Xcode 8, vous verrez que ça ne fonctionne pas. Sur leur page, il est inscrit que le plugin ne marche pas. Alors, à quoi correspondait Alcatraz ? En gros, à une série de plugins et d’options qui vous permettaient d’installer pas mal de chose, comme par exemple ici on voit XcodeColors, XcodeBoost, XcodeExplorer, pas mal de choses permettant d’augmenter la taille de caractère de l’éditeur par exemple ou de remplacer du texte ou par exemple de s’intégrer avec le terminal et plein de bonnes choses. Mais, je vous le dis de suite et c’est pour ça que les gens sont un peu fâchés dans la communauté, c’est que Xcode 8, certes, essaie de se réapproprier une certaine partie de ses plugins avec quelque chose d’officiel parce que Alcatraz était plutôt une espèce de hack qui fonctionnait. Le seul problème c’est que ce que fait Xcode 8 ce n’est pas la totalité de ce que faisait Alcatraz, soit. Bon, ça ne fonctionne plus, il faut passer à la nouvelle version. Alors la nouvelle version, comment ça fonctionne ? On va commencer par faire tout simplement une App macOS, on a besoin d’une App macOS. Alors là, ici, pour le coup j’ai fait simplement une app Terminal. Si vous démarrer une nouvelle App et que vous choisissez macOS, vous pouvez faire une application Cocoa, c’est-à-dire avec une fenêtre et tout ça, un jeu, tout que vous voulez. Moi je l'ai fait la première fois avec l'application, cette fois-ci c'était avec une Command Line et ça fonctionne de la même façon. Cette app-là n’est pas très utile. Ensuite vous devez absolument rajouter une Target et prendre une Xcode Source Editor Extension. Alors vous cliquez sur le +, et puis là vous allez tout simplement choisir Xcode Source Extension. Vous allez lui donner une extension, nous on va l’appeler Liberate, j’avais fait un Literate, je vais faire un Liberate, OK. Et ensuite vous allez avoir donc une extension qui va se rajouter et là vous allez lui demander d’activer le schéma. Alors, ce qu’on va faire ici c’est qu’à ce moment-là vous aurez des nouveaux fichiers qui apparaissent. Ici, vous voyez le Liberate par exemple et deux fichiers apparaissent. Alors, vous avez certes ici une Target qu’on va pouvoir démarrer et ici deux fichiers, un fichier SourceEditorExtension, je ne vais pas détailler et je ne vais pas le modifier. Et un fichier SourceEditorCommand qu’on a ici, avec une chose importante qui est le Perform. Alors là pour le coup, au lieu de vous le taper le code, je vais prendre l’extension que j’ai créé. Donc attention, un, deux, trois magie, voilà c’est exactement le même genre de projet à la différence que j'ai vraiment rajouté du code dans mon perform. Donc dans mon perfom, c’est qu’à ce moment-là j’ai accès notamment avec le invocation.buffer.lines à toutes les lignes du texte qui va être ensuite modifié et ce que j’ai décidé de faire, ici j’ai décidé de faire un plugins qui va me remplacer justement tous mes UIColor et mes NSColor par des littéraux. Vous savez on a vu les littéraux, justement je veux les remplacer. Alors pour ça c’est simple ce qu'il y a derrière les littéraux, ce n’est pas très compliqué, c’est simplement un PoundColor littéral que ce soit pour NSColor que pour UIColor et ensuite ça remplace ça. Alors, vous voyez je tape un peu de code, je passe par les lignes, ensuite, je remplace ces lignes par ceci et ensuite, j’ai remplacé uniquement si effectivement j’ai eu des changements. Une fois terminé, je dois lui appeler mon completionHandler pour le remplacer. Alors, ça se lance ? C’est très simple, dès que votre Target sélectionnée, donc non pas la Target de votre app mais bien la Target de l’extension, vous allez simplement lancer. Alors, d’abord je vais passer par un truc c’est que je vais faire un tour du côté de la prévisualisation du menu Windows Welcome to Xcode pour montrer quelque chose. La version 8.1 qu’on utilise actuellement 8B62 et l’icône d’Xcode normal. OK, jusqu’ici tout va bien, attention je démarre. Et qu’est-ce qui se passe ? Il me demande choose an app to run. Alors voilà toute une liste d’applications installées sur mon Mac et surtout Xcode en trois versions. Alors attention, si vous passez votre souris doucement il va montrer la version. C’est application/Xcode, celui-ci c’est application/Xcode 7.2 donc c’est un ancien Xcode que j’ai, et ça c’est application 8.0 mon ancien Xcode. Donc moi, je vais le lancer sur Xcode 8.1 qui est donc mon Xcode. Là, je vais faire Run, et ce qui va se passer ici ça va être un petit peu perturbant la première fois, si vous ne l’avez jamais fait. C’est que votre Xcode ici c’est la même version mais c’est une autre instance de Xcode et pour voir la différence, l’icône est tout simplement grisée. Donc on va prendre à ce moment-là, Litéraux qui est donc un ancien exemple que j’avais. Et là, ici, ce que je vais faire c’est que je vais prendre l’ancienne version, donc, je vais imaginer que j’avais un NSColor. Là, ça a déjà été remplacé, mais imaginez que j’avais un NSColor avec du red, donc 0.5 par exemple. Du green, 0.5 et du blue, 0.5 et du alpha, 0.5. Alors, je vous dit tout de suite, si vous compiler ensuite, il n’y a plus de coloring qui est ici, car c’est un peu en vrac. C’est peut-être voulu, je ne sais pas pourquoi. Mais vous pouvez remarquer que en haut, c’est aussi une autre couleur si vous comparez par rapport à l’autre côté, là, c’est plutôt clair et c’est plutôt foncé, ça vous permet de voir la différence. Alors ça, ça fonctionnerait, je vous le donne en mille c’est ce qu’on faisait avant, mais si le code était comme ça, ce que je voudrais, c’est justement aller dans mon menu Editor et là, c'est magique. Literate my source, c’est mon plug-in, et je vais lui dire fais ça, et attention il l’a remplacé vous voyez par une couleur transparente. Donc si je refais ici et qu’à ce moment-là, je prends un alpha1 et qu’à ce moment-là je refais mon Editor Literate, Literate my source, vous voyez qu’ici j’ai une couleur grise foncée. Alors, juste pour terminer, ce qui s’est passé ici, c’est qu’il y a info.plist et dans cet info.plist bien il y a justement le fameux Literate my source, vous voyez le nom Literate c’est tout simplement le nom de mon plug-in et la description de mon menu en gros c’est le Literate my source ici. Alors n’oubliez pas un détail très très important, c’est que vous devez absolument aller ici dans votre Target et d’activer le mode débogage, il y a une case à cocher ici, qu’il ne faudra oublier pour que ça fonctionne sinon vous serez surpris que ça ne fonctionne pas, c’est-à-dire que ça se lancera dans un autre éditeur, mais il ne se passera rien dans votre menu Editor, il sera exactement comme ici. Voilà comment ça se passe pour le développement des applications ou plutôt des Editors ou des plug-ins ou comme Apple les appellent des Editors Extensions.

Xcode 8 : Les nouveautés

Abordez les nouveautés de la version 8 de Xcode. Passez en revue les extensions de l'éditeur de texte, la création automatique de profils, l’interface Builder, etc.

Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :20 déc. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !