VS的工程模板操作
一 安装/卸载VS的新建项目的模板
1.Visual Studio中有两种类型的模板:项目模板和项模板
(1)已安装模板:
默认情况下,与产品一起安装的模板位于以下位置:
①\<Visual Studio 安装目录>\Common7\IDE\ItemTemplates\语言\
②\<Visual Studio 安装目录>\Common7\IDE\ProjectTemplates\语言\
例:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\
(2)自定义模板
默认情况下,自定义模板位于以下位置:
①\My Documents\Visual Studio 2008\Templates\ProjectTemplates\语言\
②\My Documents\Visual Studio 2008\Templates\ItemTemplates\语言\
例 C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\ProjectTemplates\Visual C#\
2.安装或卸载模板(重置Visual Studio 模板)命令
①、如要安装一个新的模板,请将准备好的模板放到相应目录。
②、如要删除一个旧的模板,请将其在对应目录删除掉。
然后执行以下命令:
a.关闭 Visual Studio 的所有实例。
b.在“开始”菜单上单击“运行”,键入“cmd”,再单击“确定”。
c.在命令提示符下,定位到包含 devenv.exe 的目录,然后键入“devenv /setup”。(执行速度很快,无任何反应)
d.(第3步执行完后需要等待几分钟时间,或者重启电脑后)再次运行 Visual Studio,就可以发现你的模板已经安装上或者卸载掉了
二、新建VS向导模板
梳理了一下,我们需要的功能主要有两个:
1.项目模板(project template)
2.设置向导(project wizard)
Vistual Studio中有一个非常方便的功能,就是可以直接将某个工程导出为模板(菜单“File-Export Template”),导出的文件是一个zip压缩文件,放在My Documents\Visual Studio 2008\Templates\ProjectTemplates\中即可。如果需要设置成安装程序,只需要将其解压,然后添加一个.vscontent文件,然后再压缩,然后将压缩后的文件后缀改为.vsi。
.vscontent文件如下:
<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的引用:
<Assembly>MyTemplateWizardLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=345b65148ade810f, processorArchitecture=MSIL</Assembly>
<FullClassName>MyTemplateWizardLib.MyWizardLib</FullClassName>
</WizardExtension>
这样,一个带有设置向导的项目模板就建立好了。比如,我可以在向导中让用户选择需要添加的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项目模板-阿不