Créez votre propres Snippets avec Microsoft Code Snippet EditorDate de publication : 08/03/2006 Par Ronald VASSEUR (autres articles)
Microsoft offre un petit outil, assez méconnu, nommé "Code Snippet Editor"
qui permet de réaliser ses propres "Code Snippets" et de les intégrer
directement dans Visual Studio 2005. Cet outil permet de créer des snippets
en VB.Net mais également en XML, J# et en C# (pour cela il faut activer la prise en charge
de ces langages dans les options du programme), voyons immédiatement
comment il fonctionne.
1. Les "Code Snippets" : qu'est-ce que c'est ? 2. Présentation de Microsoft Code Snippet Editor 3. Création d'un code snippet avec Code Snippet Editor 4. Conclusion Ressources 1. Les "Code Snippets" : qu'est-ce que c'est ?
Microsoft fournit dans Visual Studio 2005 une fonctionnalité qui permet
d'insérer en bloc des "Code Snippets" (ou "extraits de code" dans
la langue de Molière) préexistants qui sont paramétrables en fonction
des besoins du développeur. Concrètement, Visual Studio 2005 intègre
de nombreux exemples de code, classés par thèmes, qui sont insérables
et paramétrables directement dans votre application, par un simple
clic droit, puis "Insérer un extrait" dans le menu contextuel;
vous avez alors accès à un grand choix de codes classés par thèmes.
![]() Une fois le code inséré, il ne vous reste plus qu'à modifier en fonction du Snippet les champs nécessaires. Par exemple, un snippet qui permet de lire un fichier texte va vous demander de fournir le chemin du fichier, pour cela dès l'insertion de l'extrait de code, les éléments à modifier sont surlignés automatiquement, un "ToolTip" vous donne des informations quand au champ et à la valeur qu'il doit contenir lors du survol avec la souris de celui-ci.
Une bonne image valant souvent bien mieux que de longs discours,
voici la preuve par l'image.
![]() Un 'Code Snippet' dans Visual Studio 2005 Même si les Snippets fournis de base dans Visual Studio 2005 sont nombreux, il arrivera sûrement un jour où vous allez dire "un Snippet sur telle fonction que j'utilise tous les jours serait bienvenue". No problemo ! Il est tout à fait possible de créer vos propres Snippets, et de les intégrer dans Visual Studio 2005. Pour cela 2 possibilités :
Cet outil se nomme trivialement " Code Snippet Editor ", voyons
sans plus tarder ce dernier plus en détails.
2. Présentation de Microsoft Code Snippet Editor
Tout d'abord, code Snippet Editor est un projet "Shared Source",
cela implique que l'on peut accéder à son code source en Visual Basic
.Net, celui-ci est d'ailleurs disponible par téléchargement; si
vous le souhaitez, libre à vous de lancer la chasse aux bugs.
Pour commencer, voici une capture d'écran de l'interface de Code Snippet Editor : ![]() Interface graphique de Code Snippet Editor La fonction principale de cet outil est donc de créer, de manière semi-automatique, vos propres Snippets, ou alors de modifier les Snippets existants. Pour cela, Code Snippet Editor possède une interface graphique très simple qui ne propose que les options nécessaires à cette tâche.
Code Snippet Editor propose une fenêtre principale avec, sur la
gauche, un explorateur de l'arborescence de Snippets déjà intégrés
dans votre Visual Studio 2005, sur la droite, une zone de texte
qui permet la saisie du code, puis, en bas à droite, il y a différents
onglets qui permettent de paramétrer correctement votre Snippet en
signalant les Namespaces et autres références à ajouter automatiquement
lors de l'utilisation de ce Snippet par le développeur. Ces onglets
permettent également de définir les champs à personnaliser, ainsi
que les diverses aides fournies au développeur, comme par exemple
les "ToolTips" qui sont affichés au survol de la souris. Enfin,
le dernier onglet permet lui de lancer la "compilation" du code
pour vérifier la validité syntaxique de celui-ci, en cas de problème
la sortie du compilateur est affichée et vous offre ainsi quelques
informations vous guidant dans la résolution du problème.
Après avoir présenté Code Snippet Editor, passons maintenant à la
réalisation d'un snippet de A à Z grâce à cet outil à mon avis
bien pratique.
3. Création d'un code snippet avec Code Snippet Editor
Pour voir concrètement la simplicité d'utilisation de Code Snippet
Editor, nous allons créer intégralement un petit Snippet, ici pas
de code complexe, le but est de voir la méthode à suivre.
L'exemple que je vais utiliser est un code tout simple, qui d'ailleurs
existe déjà dans les Snippets fournis avec Visual Studio 2005, il
permet de déplacer un fichier d'un emplacement vers un autre.
Après avoir lancé Code Snippet Editor, allez dans l'explorateur de
la partie gauche, sélectionner le dossier où vous souhaitez placer
votre Snippet (créez en un au besoin), puis par un clic droit
faites "Add new snippet", entrez alors le nom que vous
souhaitez donner à ce snippet : pour moi ce sera "DeplacerFichier".
Votre Snippet apparaît alors dans l'explorateur de la partie gauche,
double-cliquez sur votre nouveau Snippet, celui-ci est alors affiché
dans la partie droite de l'interface utilisateur ; pour le moment la
zone de code est bien évidemment totalement vide.
Saisissez le code dans la zone appropriée, je vous conseille de faire
un copier/coller depuis Visual Studio, en effet quoi de mieux que
notre logiciel préféré ;) pour taper du code Visual Basic .Net. Le
code à copier pour cet exemple sera donc :
Maintenant nous devons saisir un certain nombre de métadonnées pour rendre notre Code Snippet plus convivial, en voici la liste pour le premier onglet.
Passons au deuxième onglet : "Replacements". Comme son nom
l'indique il permet de définir les zones que le développeur devra
modifier pour adapter le Snippet à son application.
Notre Snippet de par sa conception impose à l'utilisateur de saisir
deux informations : le chemin source et le chemin destination. Pour
faire en sorte que lors de l'utilisation de ce Snippet le développeur
pense à surtout ne pas oublier de remplir les deux champs correspondant
nous allons paramétrer notre Snippet pour que celui-ci surligne
automatiquement les deux emplacements des chemins de fichier.
Pour ajouter un champ, il suffit de placer son curseur à l'endroit
désiré dans le code (ici les paramètres de la méthode MoveFile())
du snippet, puis après un "clic droit" choisir "Add Replacement".
Dès lors le champ est automatiquement ajouté et listé dans l'onglet
"Replacements", ne perdons plus un instant et modifions ces champs
à notre guise, voilà ce que, personnellement, j'ai modifié :
![]() Les deux chaînes de caractères ont été modifiées. Je me positionne dans la liste sur le numéro 1 dans le code, celui-ci est alors surligné en orange, et je modifie les propriétés suivantes :
Propriétés du champ numéro 2 :
Onglet "Reference" et onglet "Imports" : ces deux onglets ici
ne sont pas utiles, ils servent respectivement à ajouter à votre
projet une référence vers une dll, et à faire un Imports du ou
des Namespaces nécessaires. Ici dans une situation de base nous
n'en avons pas explicitement besoin.
Maintenant, nous allons faire un test de compilation de notre Snippet :
pour cela, cliquez sur le bouton Test de l'onglet du même nom. Tout
se passe bien, et le compilateur nous renvoie le message suivant :
Enfin, dernière étape, synchroniser les Snippets de Visual Studio
2005, avec les diverses modifications que nous venons de faire. Pour
cela, rien de difficile, il suffit de cliquer sur le bouton prévu
à cet effet qui se trouve juste au dessus du coin droit de l'onglet
"Preview".
![]() Synchronisation avec Visual Studio 2005 Il ne vous reste plus qu'à aller dans Visual Studio 2005 et voir que votre Snippet est bel et bien en place et fonctionnel.
Voilà, c'est tout, rien de plus compliqué, nous venons de créer un
Code Snippet avec Code Snippet Editor et de l'intégrer dans Visual
Studio 2005.
Le système de Snippet repose sur des fichiers XML portant l'extension .snippet. Ces
fichiers (dans le cas de Snippet en Visual Basic .Net) se trouvent dans
le répertoire suivant : C:\Program Files\Microsoft Visual Studio 8\VB\Snippets\1036
Et voici le fichier XML qui est généré par Code Snippet Editor :
Comme vous pouvez le voir ce fichier XML n'est pas forcément complexe et impossible à écrire "à la main", mais
quand des outils faisant cela de manière automatique existent il ne faut pas s'en priver. Je tiens aussi à préciser
que notre exemple est très simple, avec un code long et complexe cela est une toute autre histoire ! :).
Il existe aussi un autre fichier XML nommé SnippetIndex.xml qui pour VB.Net est situé C:\Program Files\Microsoft Visual Studio 8\VB\Snippets\1036 qui lui reprend l'arborescence de tous les dossiers contenant des snippets. Si vous souhaitez modifier l'arborescence des snippets au niveau de la racine il vous faudra alors modifier ce fichier pour que les modifications apparaissent dans Visual Studio 2005, mais dans notre exemple cela n'est pas nécessaire. 4. Conclusion
L'outil Code Snippet Editor, fourni par Microsoft, est à mon sens
très utile et excellemment simple à utiliser, en effet, il n'est
pas nécessaire de se faire une entorse au cerveau avec un fichier
XML un schéma XSD, tout est automatisé. Cependant, si pour diverses
raisons ,il s'avérait indispensable de créer manuellement ses propres
Snippets, cela resterait tout à fait possible, en effet un Snippet
n'est dans l'absolu qu'un fichier XML (avec l'extension .snippet).
La création manuelle de Snippet pour Visual Studio 2005 fera d'ailleurs
l'objet d'un article dans les semaines à venir.
J'espère vous avoir fait découvrir et apprécier cet outil qui est, à
mon goût, simple d'utilisation, pratique, et, qui plus est, sous
licence "Shared Source".
Ressources
|
Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2006 Ronald Vasseur. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.