VSX – DSLs -> T4

2008-10-16

Nomenclatura complicada? Nem por isso. VSX significa Visual Studio Extensability, e a DSL é Domain Specific Languages. Finalmente comecei a implementar a minha própria DSL, que descreva a minha framework de programação, e (espero) que gere a maioria das classes que utilizo. Entre blogs e o livro Domain Specific Development with Visual Studio DSL Tools (Microsoft .Net Development), vou recolhendo o conhecimento da matéria e tentando implementar os conceitos. Para todos os efeitos, já consigo criar algumas classes/objectos da minha estrutura e gerar (ou transformar a definição em) código.

De qualquer forma, uma ferramenta muito interessante e importante é o T4 (Text Template Transformation Toolkit). Permite pegar na nossa definição de estrutura e converter para código, num conjunto de declarações. O problema que existe com este processo é que, infelizmente, o VS não tem implementado nenhum sistema de color-coding ou intelisense para o efeito, o que complica a tarefa. Por outro lado, a Clarius Consulting apresenta o T4 Editor que adiciona o color-coding ao IDE para os ficheiros de transformação. Na versão não gratuita (que custa $99), é adicionado o suporte de intelisense, que acredito que possa ser uma mais valia real. Para já estou a usar a versão comunitária.

De notar, após instalação, é necessário reinicializar o Experimental Hive da DSL, para assumir o editor. Para tal deve seguir a Iniciar -> Programas -> Visual Studio SDK -> Tools -> Reset Experimental Hive e aguardar que o programa complete.