.net code-generation t4 codesmith

Generador de código(.net)



code-generation t4 (4)

¿Qué estás tratando de hacer exactamente? Supongo que también depende de donde tratas de generar el código (el modelo).

La ventaja de Codesmith y MyGeneration es que brindan múltiples opciones para que usted genere su código, por ejemplo, en MyGeneration, puede escribir sus plantillas en varios idiomas.

MyGeneration puede proporcionar un metamodelo de cualquier base de datos y muchas secuencias de comandos generadas integradas, de modo que si desea generar SP, lo más fácil será usar generadores para MyGeneration, puede encontrar generadores para SPPS CRUD allí mismo. También proporciona un editor razonablemente bueno si desea modificar los generadores.

Si está construyendo un DSL o algo así (es decir, el modelo proviene de algún otro lugar), entonces podría considerar usar T4. Sin embargo, la edición T4 no es lo más fácil que he hecho, porque no hay soporte de edición T4 en Visual Studio. Puede considerar comprar el editor Clarius T4 para un buen soporte de edición.

¿Tienes alguna experiencia con T4 y T4 Editor ? ¿Puedes compararlo con CodeSmith o MyGeneration ?

¿Qué generadores de código usas? ¿Que recomiendas?

Quiero usarlo para generar SP. ¿Hay algo más que encuentre útil la generación de código?


Algo que aumenta su productividad es mediante el uso de los fragmentos incorporados de Visual Studio .

tab tab

Como escribir " if y presionar la tecla "tab" dos veces, generará una declaración "if" para usted, y básicamente, simplemente complete los espacios en blanco

try y dos pestañas generarán un bloque try-catch

etc ...

Hay una lista completa de fragmentos que puede usar.


Como motor de generación de código, T4 es tan capaz como CodeSmith o MyGeneration. Su principal ventaja es la estrecha integración en Visual Studio; el principal inconveniente es la menor cantidad de plantillas listas para usar.

Personalmente prefiero el editor T4 de Tangible porque funciona con T4 Toolbox .

Oleg


Además de las plantillas T4 recomendadas en la actualidad, existe otra forma de generar código en VS - MVC Scaffolding , que se puede utilizar para cualquier generación de código (no solo ASP.NET MVC).

Está basado en T4 pero agrega algunas características útiles como parámetros de plantilla, integración con VS (apertura de documentos, etc.), creación de scripts de PowerShell y generación de archivos múltiples.