Grâce aux « Code Snippets » de Visual Studio, il est possible d’insérer ses propres extraits de code pré-définis à l’aide d’un raccourci personnalisé.
Ceci est particulièrement utile pour éviter de ressaisir des morceaux de code souvent répétés, afin d’améliorer la rapidité et la fiabilité du développement.
Création d’un extrait de code
Le snippet doit être stocké dans un fichier XML répondant à cette structure :
Le Header contient le titre, la description, l’auteur, et surtout le raccourci qui permettra d’insérer facilement l’extrait de code. Le code doit être défini dans la section CDATA.
Exemple simple
Imaginons un extrait de code insérant une propriété « Name » (get/set), avec sa variable membre «_name ».
Le snippet à créer serait : (fichier prName.snippet)
Installation sous Visual Studio
Pour l’importer dans Visual Studio, ouvrez le menu « Outils \ Gestionnaire des extraits de code », puis cliquez sur Importer.
Il est maintenant disponible dans Visual Studio sous :
Insertion de l’extrait dans le code
Il suffit de taper le raccourci (« prName » dans notre exemple) pour insérer automatiquement notre extrait de code :
On notera que l’ « intellisense » nous propose automatiquement notre snippet, il suffit de presser 2 fois la touche tabulation pour l’insérer, et obtenir le code souhaité :
Personnalisation / exemple avec remplacement
Si l’on reprend notre exemple précédent, il serait évidemment beaucoup plus utile de pouvoir générer une propriété dont le nom et le type seraient paramétrables.
Il est possible d’ajouter des « remplacements » qui seront renseignés par l’utilisateur lors de l’insertion du code.
Il existe 2 types de remplacements : littéraux et objets
- Les littéraux sont des chaînes d'un certain type (littéraux de chaînes, noms de variables ou représentations sous forme de chaînes de valeurs numériques).
- Les objets sont des instances d'un type autre qu'une chaîne.
Leur déclaration doit être faite dans rubrique <Declaration> , sous <Snippet>.
Dans la définition de l’extrait de code, il suffit d’utiliser les IDS des éléments définis ci-dessus, entourés du caractère « $ ».
Exemple : plutôt que d’insérer la propriété « Name » se basant sur la variable « _name » en dur, nous allons la rendre paramétrable, en spécifiant :
- le nom de la propriété
- son type
- le nom de la variable membre utilisée
Le snippet utilisé serait le suivant (fichier prCustom.snippet) :
Lors de l’insertion de notre extrait de code, les éléments à remplacer apparaissent en surbrillance. Il suffit de presser la touche de tabulation pour naviguer de l'un à l'autre.
Si l’élément est utilisé plusieurs fois dans le code, le remplacement de l’un remplace automatiquement les autres occurrences :
devient, après remplacements :
Libre à vous de créer autant de snippets que vous le souhaitez, afin de vous faciliter le développement !
Bonjour,
Déjà pratiqué, très utile pour les tâches répétitives. Attention cependant à ne pas réinventer la roue, vu la quantité de snippets déjà présents : l’exemple ici est le cas typique du snippet « propfull » présent dans les versions supérieures à Visual Studio 2008 si je ne m’abuse 😉 (mais ce n’est qu’un exemple pour illustrer une notion, donc je suppose que c’est normal).
Bonne continuation!