codesmith generator paso a paso

9
CodeSmith Generator - me encanta la automatización de tareas repetitivas en la programación. A veces esto no es tan fácil como parece. Tengo especícos plantillas de isual Studio para pro!ectos especícos. Como vo! a construir en la plantilla anterior "#e$orar ampliar%& creo una nueva plantilla ! e'porto eso. Sin em(argo& ha! una cosa )ue no hago mucho& ! )ue es crear clases )ue pu(lican *#+ especíco para S,S / trav0s de 1C2 o 1e( Services. /(viamente he estado creando un con$unto reutiliza(le ! gen0rica de las clases )ue me permiten pu(licar a S,S / uso de los distintos o($etos de negocio de *#+. 3ste es un tra(a$o en progreso& !a )ue ha! muchos o($etos de negocio. 4na cosa )ue hago es crear una clase con una estructura de con$unto. CodeSmith Generador me permite automatizar este proceso. +a crítica de de(a$o es(ozará una plantilla mu! (ásico CodeSmith Generator. /(viamente esto es sólo ara5ando la supercie ! espero ampliar en este (log en artículos posteriores. CodeSmith Generator - Creación de su primera plantilla Así )ue supongo )ue la derecha del palo& cual)uier desarrollador va a )uerer ver lo )ue el soft6are es capaz de hacer. 78u0 me$or manera de hacerlo )ue para crear una plantilla. Arranca Generador CodeSmith Studio ! seleccione Archivo -9 :uevo. ara mis propósitos crear0 una plantilla de C ;. CodeSmith generador crea una plantilla predeterminada para usted con algo de contenido (ásico. 3sto puede parecer desalentador para un usuario por primera vez& pero cr0anme& una vez )ue usted ha rodado su propio te darás cuenta de lo fácil este proceso es. a!a por delante ! eliminar todo en este archivo de plantilla.

Upload: byron-cobo

Post on 04-Nov-2015

34 views

Category:

Documents


3 download

TRANSCRIPT

CodeSmith Generator - me encanta la automatizacin de tareas repetitivas en la programacin.A veces esto no es tan fcil como parece.Tengo especficosplantillas de Visual Studiopara 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 paraSYSPROtravs 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 Generadorme 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 plantillaAs 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 ampliawiki 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 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:

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.