自定义 T4 文本转换

文本模板是 Visual Studio 的一项功能,它允许你通过转换过程生成程序代码或其他文本文件。 使用 Visual Studio SDK,可以通过自定义文本模板指令处理器或文本模板主机来扩展默认模板转换过程。

本节内容

文本模板转换过程 描述文本转换的工作原理,并解释模板主机和指令处理器的角色。

创建自定义 T4 文本模板指令处理器 指令处理器处理模板中的指令,例如 <#@template#>.;它在模板编译期间运行,并且可以加载程序集和其他资源。 它还可插入将在运行时加载资源的代码。 通过定义自己的指令处理器,可以降低模板的复杂性。

在 VS 扩展中调用文本转换 如果你正在编写 Visual Studio 扩展(如菜单命令或事件处理程序),则扩展可以使用文本模板化服务来转换任何文本模板。 可以使用 Session 对象将参数数据传递到模板,并使用 <#@parameter#> 指令从模板内获取值。

使用自定义主机处理文本模板 当执行文本模板代码时,主机提供对外部文件和应用程序状态的访问。 例如,在 Visual Studio 中运行文本转换的主机可以提供对解决方案资源管理器的访问。 它还在错误消息窗口中显示错误。 如果要在不同的上下文中运行文本转换,可以定义自己的主机,以便提供对该上下文中可用服务的访问。

如果要编写 Visual Studio 扩展,请考虑使用现有文本转换服务,而不是编写自己的主机。 有关详细信息,请参阅在 VS 扩展中调用文本转换