自定义 T4 文本转换

更新:2011 年 1 月

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

本节内容

  • 文本模板转换过程
    描述文本转换的工作方式,并说明模板宿主和指令处理器的作用。

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

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

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

    如果要编写 Visual Studio 扩展,请考虑使用现有的文本转换服务而不是编写您自己的宿主。 有关更多信息,请参见Invoking Text Transformation in a VS Extension

参考

编写 T4 文本模板

提供文本模板指令和控制块的语法。

修订记录

日期

修订记录

原因

2011 年 1 月

更新了有关文本模板化服务的讨论

信息补充。