在插件中嵌入t4模板

时间:2013-07-11 09:23:38

标签: templates plugins t4

我在VS 2012中创建了一个插件。此插件解决方案还包含T4模板。当t4模板也存在于插件解决方案中时,我已经实现了在点击插件时执行t4模板的逻辑。

问题是我如何在插件中嵌入T4模板,这样当我们在任何其他不包含这些模板文件的解决方案中使用此插件时,也会执行Click of plugin模板并生成输出文件。我正在附上我正在使用的代码段。

    var dte = Marshal.GetActiveObject("VisualStudio.DTE.11.0") as EnvDTE80.DTE2;
    Solution sol = ((DTE)dte).Solution;
    string strFileName = string.Empty;
    foreach (Project project in sol.Projects)
    {
      foreach (ProjectItem item in project.ProjectItems)
      {                              
         if (item.Name.Contains(".tt"))
         {
            VSLangProj.VSProjectItem itemobj =(VSLangProj.VSProjectItem)item.Object;
            itemobj.RunCustomTool();                    
         }             
      }
    }

发布者:Shivani Srivastava

1 个答案:

答案 0 :(得分:1)

您可能想要使用T4服务。您可以从DTE获取IServiceProvider,然后查询STextTemplating。有关如何使用的文档是here