Code Snippets II

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

Code Snippet Manager

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:

TODO Code Snippet

TODO Code Snippet

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:

TODO Task List

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!

 

 

Published miércoles, 28 de octubre de 2009 8:48 por Dani PuntosNET
Archivado en: ,

Comentarios

# re: Code Snippets II

lunes, 23 de noviembre de 2009 5:47 por angel

hola!...siempre he usado visual studio (con c# y asp) pero ahora estoy intentando probar python, me llamo la atencion el ironpython studio lo instale y todo bien, pero el intellisense es cuanto menos escueto, pense en crear unos snippets para aportarle mas variedad de funciones...sabes si esto es posible?...depende mas del visual studio o del lenguaje como tal...cree un snippet basico y lo logro visualzar en el manager pero no me aparece en el intellisense y creo que puede ser por el lenguaje mas que por el visual studio...q opinas?..gracias

# re: Code Snippets II

martes, 24 de noviembre de 2009 9:06 por Dani PuntosNET

Amigo Angel,

Hasta donde se yo, los code snippets se organizan en función del lenguaje. No te puedo ayudar mucho porque desconozco la plataforma ironphyton. Lo único que se me ocurre es que pruebes a integrar un code snippet de c# y después sigas exactamente los mismos pasos para un code snippet en phyton, a ver si funciona. Si no es así, te aconsejo que te pongas en contacto con la gente de blogs.msdn.com/.../default.aspx , seguro que ya has visitado el blog pero por si acaso...

Estaré encantado que me vayas contando tus avances con esta herramienta.

Un saludo!

Deja tu comentario

(requerido) 
(requerido) 
(opcional)
(requerido) 
Ofrecido por Community Server (Non-Commercial Edition)