Snippets (extraits de code) sous Visual Studio

Visual_Studio

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 :

SNIPPET06

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)

SNIPPETCUSTOMPRNAME

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 :

SNIPPET01

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 :

SNIPPET02
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é :

SNIPPET03

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

SNIPPETCUSTOM

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 :

SNIPPET04
devient, après remplacements :

SNIPPET05

Libre à vous de créer autant de snippets que vous le souhaitez, afin de vous faciliter le développement !

Un commentaire

  1. 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!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.