Visual Studio智能项目模板

时间:2009-08-23 03:28:15

标签: visual-studio-2008 templates automation

我需要构建一个具有一定智能的Visual Studio项目模板。我发现了一种方法让Visual Studio在我的模板创建新项目时调用我的自定义代码,自定义代码显示一个对话框并从用户收集信息,然后定义项目模板可以使用的其他替换。一切都很好。

此模板以前是几个非常相似的模板的集合,这些模板仅在主类实现哪个接口时有所不同。我的目标是将这个模板集合压缩成一个“智能模板”,根据用户输入自动实现正确的界面。

为此,我需要在创建代码时修改生成的代码。 Visual Studio在创建新项目后调用我的自定义向导代码,然后我想进入新创建的C#代码并以编程方式添加Interface实现。我想在主类之后添加“:IMyInterface”,然后触发IntelliSense来扩展我的实现。这是我不知道该怎么做的部分。

有人可以给我一些关于如何使用Visual Studio对象模型自动化接口实现的指示吗?

3 个答案:

答案 0 :(得分:0)

如果您可以打开文件本身并将其作为文本加载,您应该只需将占位符放在初始界面的位置(例如,#interface_placeholder#),然后在其中进行搜索/替换字符串,并将其添加到项目而不是初始文件。无论如何,我认为这应该是可能的。是否有意义?

答案 1 :(得分:0)

我认为最适合您需求的解决方案是使用GAT和GAX。

它需要一些工作才能使它运作良好但它绝对可以帮到你:http://msdn.microsoft.com/en-us/teamsystem/aa718948.aspx

答案 2 :(得分:0)

使用GAX的问题是,在安装使用GAX构建的模板之前,最终用户需要下载框架。

更好的解决方案是使用VS 2010 SDK构建VSIX,这不需要最终用户下载任何其他插件来安装模板。您可以在这里查看:Multi-Project Templates with Wizard: Visual Studio 2010 Sample