Delen via


T4-teksttransformatie aanpassen

Tekstsjablonen zijn een functie van Visual Studio waarmee u programmacode of andere tekstbestanden kunt genereren via een transformatieproces. Met visual Studio SDK kunt u het standaardtransformatieproces voor sjablonen uitbreiden door de tekstsjabloonrichtlijnprocessor of de tekstsjabloonhost aan te passen.

In deze sectie

Het transformatieproces voor tekstsjablonen: hierin wordt beschreven hoe teksttransformatie werkt en wordt de rol van de sjabloonhost en de instructieprocessors uitgelegd.

Aangepaste T4-tekstsjabloonrichtlijnprocessors maken: de instructieprocessor behandelt instructies in uw sjabloon, zoals <#@template#>. deze wordt uitgevoerd tijdens de compilatie van de sjabloon en kan assembly's en andere resources laden. Het kan ook code invoegen waarmee resources tijdens runtime worden geladen. Door uw eigen instructieprocessor te definiƫren, kunt u de complexiteit van uw sjablonen verminderen.

Teksttransformatie aanroepen in een VS-extensie: als u een Visual Studio-extensie schrijft, zoals een menuopdracht of gebeurtenishandler, kan uw extensie de Text Templating Service gebruiken om een tekstsjabloon te transformeren. U kunt parametergegevens doorgeven aan de sjabloon met behulp van het sessieobject en de waarden ophalen uit de sjabloon met behulp van de <#@parameter#> instructie.

Tekstsjablonen verwerken met behulp van een aangepaste host: wanneer de code van de tekstsjabloon wordt uitgevoerd, biedt de host toegang tot externe bestanden en de status van de toepassing. De host die teksttransformaties uitvoert in Visual Studio kan bijvoorbeeld toegang bieden tot Solution Explorer. Er worden ook fouten weergegeven in het foutberichtvenster. Als u teksttransformaties in een andere context wilt uitvoeren, kunt u uw eigen host definiƫren die toegang biedt tot de services die beschikbaar zijn in die context.

Als u een Visual Studio-extensie schrijft, kunt u overwegen om de bestaande teksttransformatieservice te gebruiken in plaats van uw eigen host te schrijven. Zie Teksttransformatie aanroepen in een VS-extensie voor meer informatie.