Visual Studio 中创建带有向导的项目模板

对于测试开发来说,建立新工程的次数要远远高于专职开发人员。由于每次建立一个测试工程都要例行公事的设置一大堆属性,例行公事的写一些同样的代码,非常耗时。因此打算通过建立项目模板来达到自己完成的目的。比如,在Visual Stuido中新建工程的时候,可以直接选择我们创建好的“GTest Project”,然后会弹出一个向导对话框,再设置一些属性,然后,一个可以直接使用的GTest工程就创建好了。

梳理了一下,我们需要的功能主要有两个:

1.项目模板(project template)

2.设置向导(project wizard)

Vistual Studio中有一个非常方便的功能,就是可以直接将某个工程导出为模板(菜单“File-Export Template”),导出的文件是一个zip压缩文件,放在My Documents\Visual Studio 2008.emplates\ProjectTemplates\中即可。如果需要设置成安装程序,只需要将其解压,然后添加一个.vscontent文件,然后再压缩,然后将压缩后的文件后缀改为.vsi。

.vscontent文件如下:

<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
    
<Content>
        
<FileName>MyProjectTemplate.zip</FileName>
        
<DisplayName>Sample Project Template</DisplayName>
        
<Description>A project template created for this example.</Description>
        
<FileContentType>VSTemplate</FileContentType>
        
<ContentVersion>1.0</ContentVersion>
        
<Attributes>
            
<Attribute name="ProjectType" value="Visual Basic"/>
            
<Attribute name="ProjectSubType" value=""/>
            
<Attribute name="TemplateType" value="Project"/>
        
</Attributes>
    
</Content>
</VSContent>

这样,第一步要实现的项目模板就非常轻松的实现了。接下来是要实现一个设置向导。要实现一个设置向导,需要做的事情是:

1.新建一个Class Lirary的向导工程。

2.添加.NET引用:“Microsoft.VisualStudio.TemplateWizardInterface”和“EnvDTE”

3.新建一个Windows Form(设置向导),添加一些自己想要的控件。并保证将设置的属性能够通过外部获取。

4.新建一个类,实现IWizard接口。主要实现RunStarted方法。在RunStarted方法中,将前面的Windows Form创建出来,然后获取设置的属性,添加到replacementsDictionary中。比如:replacementsDictionary.Add(“$MyName$”, myName);

5.新建一个工程,作为模板。在该工程里,可以通过使用”$MyName$“达到替换之前设置的myName属性。

6.将向导工程编译出来的dll安装到全局的Assembly缓存中。一般通过:gacutil -i xxx.dll来做。

7.导出之前创建的模板工程,解压zip文件,打开.vstemplate文件,添加对向导DLL的引用:

<WizardExtension>
    
<Assembly>MyTemplateWizardLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=345b65148ade810f, processorArchitecture=MSIL</Assembly>
    
<FullClassName>MyTemplateWizardLib.MyWizardLib</FullClassName>
</WizardExtension>
8.再压缩,然后将zip文件放置到My Documents\Visual Studio 2008.emplates\ProjectTemplates\即可。

这样,一个带有设置向导的项目模板就建立好了。比如,我可以在向导中让用户选择需要添加的lib引用,或是dll引用,然后,我自动将其选择的引用设置到新建的工程中,如果是gtest工程,我将在模板中自动写好其中的main函数中例行公事的几句话。总之,几乎可以定制所有我需要预先定制的内容,从而提高写代码的效率。

我们上面记录的方法比较笼统,如果之前没有接触的话可能会比较朦胧。下面的地址中提供了一个视频教学,可能会更加容易理解:

http://msdn.microsoft.com/en-us/vstudio/bb669054.aspx

更多的相关资料:

How to: Use Wizards with Project Templates

How to: Package Community Components to Use the Visual Studio Content Installer

Visual Studio Templates

Create Reusable Project And Item Templates For Your Development Team

制作Visual Studio项目模板-阿不

[温馨提示]:该文章由原博客园导入而来,如排版效果不佳,请移步:http://www.cnblogs.com/coderzh/archive/2009/08/09/1542120.html

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2009/08/09/1542120/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。