是否可以直接在VS2008中调用T4自定义工具TextTemplatingFileGenerator,例如使用插件

时间:2011-12-07 15:05:04

标签: t4 visual-studio-addins t4-toolbox

我想知道是否可以直接在VS2008中调用T4自定义工具TextTemplatingFileGenerator,例如使用插件。

我的情况是我在解决方案中有元数据(xml)文件。 T4模板读取这些文件以在与元数据文件相同的文件夹中生成C#类文件。

目前我有T4模板扫描搜索特定扩展和创建文件的解决方案。能够运行一个使用元数据文件路径调用模板的加载项会很不错。请注意,我非常广泛地使用VS主机将生成的文件添加到项目中。

我想知道我是否可以直接从加载项中调用TextTemplatingFileGenerator,如果这样可以让我实现我想要的目标。

还需要考虑的是我使用的是T4toolbox。

此致 ILIAS

1 个答案:

答案 0 :(得分:1)

是的,您当然可以将T4服务称为加载项。您不需要使用TextTemplatingFileGenerator,它几乎是服务的瘦包装。

在加载项中,将DTE对象强制转换为IServiceProvider,然后向其询问STextTemplating

将结果转换为ITextTemplating,然后为要转换的每个模板调用ProcessTemplate方法。如果您进行多次调用,则在调用Begin / EndErrorSession时将它们括起来以重复输出。

回调和层次结构参数是可选的。