Share via


Microsoft.VisualStudio.TextTemplating.VSHost Namespace

This namespace contains types concerned with the text template transformation service in Visual Studio.

To invoke text template transformation in a Visual Studio extension, get the STextTemplating service, cast it to ITextTemplating, and then use the methods there:

ITextTemplating tt = ServiceProvider.GetService(typeof(STextTemplating)) as ITextTemplating;
tt.ProcessTemplate(templatePath, templateContent, errorCallback, vsProjectHierarchy);

For more detailed control, you can use ITextTemplatingComponents:

ITextTemplatingComponents ttc = 
    ServiceProvider.GetService(typeof(STextTemplating)) as ITextTemplatingComponents;

For more information, see Invoking Text Transformation in a VS Extension.

Classes

  Class Description
Public class BaseCodeGenerator A managed wrapper for VS's concept of an IVsSingleFileGenerator which is a custom tool invoked during the build which can take any file as an input and provide a compilable code file as output.
Public class BaseCodeGeneratorWithSite This class exists to be co-created in a preprocessor build step.
Public class BaseTemplatedCodeGenerator Text Templating Code Generator
Public class CommandIds CommandIDs for the Text Templating Orchestrator package.
Public class CompositionServices Class to standardize usage of MEF within T4.
Public class ModelingTextTransformation Use this base class for text transformations from domain-specific language models.
Public class OrchestratorOptionsAutomation Provides storage for the settings that are displayed in the Text Templating page in the Tools Options dialog.
Public class OrchestratorOptionsPage The page in the Visual Studio Tools>Options dialog in which users can set Text Templating options.
Public class ProvideCodeGeneratorAttribute Apply this attribute to the package class in a Visual Studio extension that provides a custom tool.
Public class ProvideCodeGeneratorExtensionAttribute Apply this attribute to a package class of a package that provides a code generator for a specific file extension.
Public class ProvideDirectiveProcessorAttribute Apply this attribute to the package class of a package that defines a text template directive processor.
Public class ProvideIncludeFolderAttribute Registers a folder to search for text template include files. Apply this attribute to a package class if you want the include folder to be registered when the package is installed.
Public class TemplatedCodeGenerator Processes and runs a text template.Only a single generator is needed for any style of template as the custom code is handled with directive providers.
Public class TemplatedPreprocessor Creates source code that can be compiled and run to generate the output defined by the text template. Typically the code generated by these run-time templates is used as part of an application.Only a single generator is needed for any style of template as the custom code is handled with directive providers.

Interfaces

  Interface Description
Public interface ITextTemplating The principal interface of the text template transformation service in Visual Studio, STextTemplating.
Public interface ITextTemplatingCallback Implement this interface if you are using the STextTemplating service and you want to be informed of errors when a template is processed. You can also get the file extension and output encoding requested by the template.
Public interface ITextTemplatingComponents Cast the STextTemplatingservice to this interface to gain access to the components of the text templating service. Use this interface instead of ITextTemplating for advanced scenarios.
Public interface IVsGeneratorProgress Obsolete.
Public interface IVsSingleFileGenerator Obsolete.
Public interface STextTemplating The text template transformation service in Visual Studio.