En el artículo anterior hablaba sobre los Code Snippets y su utilización. Ahora es el momento de crear nuestros propios Code Snippets.
Existe un gestor de Code Snippets en el propio Visual Studio. Para acceder al manager podemos hacerlo a través del menú 'Herramientas':

Desde el gestor podremos añadir, borrar, importar o modificar Code Snippets. Aconsejo que le deis un vistazo a la cantidad de Code Snippets que se ofrecen en Visual Studio, es brutal. Y la mayoría son muy completos (métodos de log, acceso a ficheros, fragmentos de código de WPF, ClickOnce, LINQ, dispositivos móviles etc.). Cabe destacar que los hay diferentes para C# y VisualBasic.NET, incluso para XML!
Además, en internet podremos encontrar infinitos Code Snippets para incorporarlos a nuestro Visual Studio.
Pero realmente ¿qué es un Code Snippet? la respuesta es sencilla, un simple fichero en formato XML y con extensión '.snippet'. Se puede decir que está formado por dos partes: una cabecera con información del propio Code Snippet, y un segundo bloque con el código que se va a 'crear' en su utilización y los elementos modificables.
Este es un ejemplo de un Code Snippet muy simple. Su función es crear un comentario 'TODO' en nuestro código:
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2008/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>TODO</Title>
<Shortcut>TODO_CodeSnippet</Shortcut>
<Description>Code snippet para insertar comentario TODO</Description>
<Author>Dani Puntos</Author>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>commenttype</ID>
<ToolTip>Comentario a insertar.</ToolTip>
<Default>Tarea por realizar</Default>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[//TODO: $commenttype$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Como se ve, hay un primer bloque llamado 'Header' y un segundo bloque llamado 'Snippet'. El 'Header' se utiliza para introducir el nombre del Code Snippet, el autor, una descripción de su función, etc.
El bloque 'Snippet' se utiliza para insertar los elementos modificables, en este caso el campo 'commenttype' y también el código que aparece de forma no parametrizable.
Se puede hacer una comparación del XML anterior con las siguientes capturas para ver como corresponde cada uno de los elementos del fichero durante su uso:


Para importar a Visual Studio algún Code Snippet que hayamos creado, lo podemos hacer a través del gestor. Otra manera rápida de hacerlo es grabar el fichero '.snippet' a la carpeta:
'..\Mis documentos\Visual Studio 2008\Code Snippets\Visual C#\My Code Snippets'
Evidentemente la ruta cambiará dependiendo del idioma y versión de nuestro Visual Studio y también del lenguage en el que hemos creado el Code Snippet.
Cabe decir que aun siendo un Code Snippet muy sencillo, es extramadamente práctico. El uso de 'TODO' es una manera muy ordenada de marcar los componentes que hay que revisar o terminar de implementar en nuestro código. Además, Visual Studio permite listar a través de la Task List todos estos elementos de tal manera que siempre puedes acceder a ellos sin que se queden en el olvido:

Pues dejo a disposción este pequeño Code Snippet para descargar aquí. Y si alguien crea alguno y también lo quiere compartir, adelante!