我需要构建一个具有一定智能的Visual Studio项目模板。我发现了一种方法让Visual Studio在我的模板创建新项目时调用我的自定义代码,自定义代码显示一个对话框并从用户收集信息,然后定义项目模板可以使用的其他替换。一切都很好。
此模板以前是几个非常相似的模板的集合,这些模板仅在主类实现哪个接口时有所不同。我的目标是将这个模板集合压缩成一个“智能模板”,根据用户输入自动实现正确的界面。
为此,我需要在创建代码时修改生成的代码。 Visual Studio在创建新项目后调用我的自定义向导代码,然后我想进入新创建的C#代码并以编程方式添加Interface实现。我想在主类之后添加“:IMyInterface”,然后触发IntelliSense来扩展我的实现。这是我不知道该怎么做的部分。
有人可以给我一些关于如何使用Visual Studio对象模型自动化接口实现的指示吗?
答案 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