Custom Code Snippets in Visual Studio 2012

di danclick

I code snippet (i frammenti di codice) in Visual Studio, sono senz’altro un pratico strumento per aumentare la produttività e rendere meno noiosa la scrittura di frammenti standard di codice. Grazie all’Intellisense, Visual Studio ci propone i suggerimenti opportuni per i frammenti di codice che vengono forniti “out of the box”. Per esempio, se cerchiamo lo snippet per la creazione di una proprietà in una classe, si può digitare “prop” e premere due volte tab. Il risultato prodotto sarà il frammento di codice per la nuova proprietà, con i metodi get e set già pronti. Di seguito il risultato ottenibile in circa 1 secondo di lavoro:

snippet1

snippet2

Tramite l’uso del tasto tab poi è possibile “spostarsi” tra le varie keyword, per modificare, ad esempio, il tipo o il nome della proprietà.

Di questi snippets ne esistono svariati, ma può succedere che vi sia la necessità di crearne uno personalizzato. Ecco di seguito la procedura:

Per prima cosa è necessario creare da Visual Studio un nuovo file XML  (File->Nuovo->File->File XML).  Gli snippets sono salvati in memoria all’interno di file con estensione .snippet. Questi file costituiscono la definizione dello snippet  e devono seguire un certo formato. Cliccando con il tasto destro nell’area di scrittura del file clicchiamo su “inserisci frammento di codice” (Insert code snippet) e di nuovo su snippet nel suggerimento che l’intellisense ci fornisce. Il file verrà completato automaticamente con il template XML necessario alla definizione dello snippet, come mostrato nella figura seguente.

snippet3

 

Non resta che assegnare i diversi valori che definiscono il frammento di codice, tra cui un titolo, l’autore, lo shortcut (cioè la stringa con cui richiamare tramite l’intellisense il nostro frammento) e il codice vero e proprio. Quest’ultimo va inserito all’interno del tag CDATA[] specificando nel tag “code” la propietà “Language” (as esempio “VB” per codice Visual Basic oppure “CSharp” per codice C#). Nell’immagine seguente si vede la definizione di un frammento di codice relativo all’implementazione dell’interfaccia INotifyPropertyChanged.

snippet4

Una volta editato il template salviamo il file con estensione .snippet.

Infine importiamo la definizione del frammento di codice appena definito nell’installazione di Visual Studio desiderata tramite il tool raggiungibile in Strumenti->Gestione Frammenti Di Codice. Clicchiamo su Importa e selezioniamo il file appena creato. Ci verrà quindi chiesto dove copiare la definizione (ad es in My Code Snippets). Terminata la procedura, posizionandosi in un qualunque file C# e digitando lo shortcut scelto, si avrà la possibilità di richiamare lo snippets.

snippet5

Il risultato finale sarà il nostro codice pronto all’uso in un attimo!

snippet6