Olá pessoal, tudo certo?
Pensando em como justificar toda a “praticidade” de desenvolver aplicativos utilizando ASP.net MVC cheguei a dois argumentos principais:
- Framework extremamente inteligente;
- Suporte ao desenvolvimento, bem implementado, no Visual Studio.
Uma das funcionalidades mais bacanas, oferecida pelo Visual Studio, para quem está desenvolvendo aplicativos ASP.net MVC é a geração de Views partindo dos “Scaffold Templates”. Nesse post, mostro como Criar/Personalizar esses “templates”.
Vamos aos fatos…
O que é um “Scaffold Template”?!
Scaffold template é um T4 que, selecionado pelo desenvolvedor, é processado pelo Visual Studio na criação de uma View fortemente tipada. Se você não está “associando o nome a pessoa”, eis a tela onde você faz essa selação:
Visual Studio não deixa claro que essas “opções” são, na verdade, arquivos T4. Mas são!
Estamos alinhados?!
Localizando os T4 utilizados pelo Visual Studio para Scaffolding em seu computador
Sabendo que as opções de Scaffolding são, na verdade, arquivos T4, podemos localizar esses arquivos no disco. Abra o “Localizar do Windows” e procure por “CodeTemplates”. O resultado deve ser semelhante ao que segue:
Como você pode perceber, há pastas com opções de template para C# e VB.net.
Os arquivos contidos nessas pastas não devem ser alterados diretamente por duas razões:
- São parte da distribuição do Visual Studio;
- As novas versões ficariam restritas ao computador onde as alterações foram feitas.
Para personalizar Scaffolding Templates, adicione-os ao seu projeto.
Adicionando os Scaffold Templates a um Projeto ASP.net MVC
Para poder ajustar os scaffold templates, você precisa, antes, adiciona-los a seu projeto. Para isso, arraste a pasta CodeTemplates para cima do nodo correspondente ao seu projeto no Solution Explorer do Visual Studio. Ao fazer isso, toda a estrutura de pastas/arquivos será “copiada” (os arquivos originais serão preservados). Observe:
Além de fazer isso, você precisará “avisar” o Visual Studio que os T4 não devem ser processados. Para isso:
- Selecione todos os arquivos .TT (que foram arrastados);
- Abra a janela de propriedades;
- Apague o valor da propriedade “Custom Tool”
Pronto!
Modificando um “Scaffold Template”
Como você pode perceber, o nome de cada arquivo .TT, corresponde ao nome da opção disponível na janela de criação de Views. Abra o arquivo .TT correspondente a opção que você deseja alterar (repare que há uma pasta para templates Razor e outra para Aspx).
O conteúdo do arquivo é um T4. Se você não sabe o que é isso, boa hora de aprender (Google/Bing ajuda).
Alterando esses arquivos, você estará alterando o template de geração das Views. Certo!?
Criando um “Scaffold Template”
Já sabemos como alterar os templates utilizados pela ferramenta de geração de Views. Mas, e para criar uma opçao inteiramente nova?! A resposta é muito simples
Para criar uma nova opção para a combo “Scaffold Template”, basta criar um novo arquivo T4 na pasta correspondente.
Por exercício, duplique o arquivo “Create.TT” (Copy, Paste) e modifique seu nome para “NewScaffoldTemplate”
Agora, inicie o assistente para criação de uma View:
BÔNUS: Adicionado Color-Coding e (algum) Code-Completion para arquivos T4
Para mim, chega a ser surpreendente que o Visual Studio não ofereça melhor suporte nativo para edição de arquivos T4.
A menos que você seja “ninja” em T4, recomendo a instação da extensão “tangile T4 Editor plus …”.
Com essa externsão instalada, você ganha color-coding e algum code-completion.
Melhor assim.
Agora sim…
Por hoje, é isso.
Evandro
fevereiro 26, 2011
Post Fresquinho e já me ajudou bastante…tenho um form muito longo e queria alterá-lo.
Vlw man!