Vous êtes sur la page 1sur 9

CodeSmith Generator - me encanta la automatizacin de tareas repetitivas en la

programacin. A veces esto no es tan fcil como parece. Tengo especficos plantillas de Visual
Studio para proyectos especficos. Como voy a construir en la plantilla anterior (Mejorar o
ampliar), creo una nueva plantilla y exporto eso. Sin embargo, hay una cosa que no hago mucho,
y que es crear clases que publican XML especfico para SYSPRO travs de WCF o Web
Services. Obviamente he estado creando un conjunto reutilizable y genrica de las clases que
me permiten publicar a SYSPRO uso de los distintos objetos de negocio de XML. Este es un
trabajo en progreso, ya que hay muchos objetos de negocio. Una cosa que hago es crear una
clase con una estructura de conjunto. CodeSmith Generador me permite automatizar este
proceso. La
crtica
de
debajo
esbozar
una
plantilla
muy
bsico
CodeSmith
Generator. Obviamente esto es slo araando la superficie y espero ampliar en este blog en
artculos posteriores.

CodeSmith Generator - Creacin de su primera plantilla


As que supongo que la derecha del palo, cualquier desarrollador va a querer ver lo que el
software es capaz de hacer. Qu mejor manera de hacerlo que para crear una plantilla. Arranca
Generador CodeSmith Studio y seleccione Archivo -> Nuevo. Para mis propsitos crear una
plantilla de C #.

CodeSmith generador crea una plantilla predeterminada para usted con algo de contenido
bsico. Esto puede parecer desalentador para un usuario por primera vez, pero cranme, una
vez que usted ha rodado su propio te dars cuenta de lo fcil este proceso es. Vaya por delante y
eliminar todo en este archivo de plantilla.

Ahora vamos a aadir nuestra Directiva CodeTemplate. Esto slo da Generador CodeSmith
Estudio algo de informacin bsica con respecto a esta plantilla. Plantillas CodeSmith Generator
son en realidad archivos de texto plano que contienen uno de los tres tipos de contenidos
diferentes. Estos son:
Directivas para el motor CodeSmith Generador
El contenido esttico que se copia directamente a la salida de la plantilla
El contenido dinmico (cdigo de programacin) que se ejecuta por el motor de
CodeSmith Generador

Herramientas CodeSmith tienen una muy amplia wiki de documentacin . Una cosa que se
sugieren al crear una nueva plantilla (que tiene sentido total) es comenzar con el resultado
final.En mi caso, quiero crear el archivo de cdigo de abajo. As que me pega esto en el editor de
plantillas por debajo de la Directiva CodeTemplate.

Con mi resultado final en el editor de plantilla, ahora debo empezar a aadir contenido
dinmico.CodeSmith Generador busca contenido envuelto entre <% = y%> fichas. El contenido
entre estas fichas se trata como expresiones que CodeSmith Generador evala en tiempo de
ejecucin.Como se puede ver, el cdigo entre las fichas es simplemente C #. En el siguiente
ejemplo, el resultado de DateTime.Now.ToLongDateString () sustituye la expresin.

A veces, hay informacin que es necesario definir en el archivo de cdigo que no se puede hacer
a travs de C # solo y necesita la entrada del usuario. Supongamos que queremos definir el
autor y la clase descripcin del archivo de cdigo. Para este propsito CodeSmith Generador
permite la creacin de directivas de propiedad. Para cada bit de informacin que desea cobrar a
los usuarios, es necesario agregar una directiva propiedad. Se puede ver que he aadido cuatro
directivas de propiedad por debajo de la Directiva CodeTemplate. Estos son Autor, Descripcin,
Espacio de nombres y el nombre de la clase.

Ahora, en mi archivo de cdigo Puedo ver la directiva de propiedad aparecen en mi IntelliSense


al escribir el nombre de la directiva de la propiedad. Tambin puede ver la descripcin de la
directiva propiedad especfica en el pequeo local situado junto a la propiedad. Incluso puede
especificar valores predeterminados de directiva propiedad de la siguiente manera:

<% @ Propiedad nombre = "Compaa" Type = "System.String" Default = "Acme


Company, Inc."%>

Despus de aadir todo el contenido dinmico, mi plantilla completa se ve de la siguiente


manera.

Si ahora guardo mi archivo de plantilla y haga doble clic en l en el Explorador de Windows se


abrir con el panel de propiedades de la plantilla. Acabo de hacer esto en CodeSmith generador
propio estudio. Llene la informacin requerida para las directivas de propiedad que definimos
anteriormente.

Cuando haya hecho esto, haga clic en el botn Generar.

Ah tienes a tu archivo de cdigo generado en toda su gloria. Ahora puedo generar muchas
clases diferentes basados en esta sola plantilla, simplemente cambiando mis valores de las
propiedades segn sea necesario. Ahora no tengo que copiar, pasado y editar nada ms. Que
placer.

Obviamente, esto es slo una pequea parte de lo que CodeSmith Generador realmente puede
hacer, pero este sencillo ejemplo le dar una idea de la potencia que se encuentra debajo. Estn
atentos para unos pocos de seguimiento puestos en CodeSmith Generator. Hay mucho ms que
aprender y ver.