Partilhar via


Personalizar transformação de texto T4

Os modelos de texto são um recurso do Visual Studio que permitem gerar código de programa ou outros arquivos de texto por meio de um processo de transformação. Usando o SDK do Visual Studio, você pode estender o processo de transformação de modelo padrão personalizando o processador de diretiva de modelo de texto ou o host de modelo de texto.

Nesta secção

O processo de transformação do modelo de texto: descreve como a transformação de texto funciona e explica a função do host do modelo e dos processadores de diretiva.

Criando processadores de diretivas de modelo de texto T4 personalizados: o processador de diretivas lida com diretivas no seu modelo, como <#@template#>. Ele é executado durante a compilação do modelo e pode carregar assemblies e outros recursos. Ele também pode inserir código que carregará recursos em tempo de execução. Ao definir seu próprio processador de diretrizes, você pode reduzir a complexidade de seus modelos.

Invocando transformação de texto em uma extensão VS: Se você estiver escrevendo uma extensão do Visual Studio, como um comando de menu ou manipulador de eventos, sua extensão poderá usar o Serviço de Modelo de Texto para transformar qualquer modelo de texto. Você pode passar dados de parâmetro para o modelo usando o objeto Session e obter os valores de dentro do modelo usando a <#@parameter#> diretiva .

Processando modelos de texto usando um host personalizado: quando o código do modelo de texto é executado, o host fornece acesso a arquivos externos e ao estado do aplicativo. Por exemplo, o host que executa transformações de texto no Visual Studio pode fornecer acesso ao Gerenciador de Soluções. Ele também exibe erros na janela de mensagem de erro. Se quiser executar transformações de texto em um contexto diferente, você pode definir seu próprio host que fornece acesso aos serviços disponíveis nesse contexto.

Se estiver a escrever uma extensão para o Visual Studio, considere utilizar o serviço de transformação de texto existente em vez de criar o seu próprio host. Para obter mais informações, consulte Invocando transformação de texto em uma extensão VS.