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


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

    Vistual Studio中有一个非常方便的功能,就是可以直接将某个工程导出为模板(菜单“File-Export Template”),导出的文件是一个zip压缩文件,放在My Documents\Visual Studio 2008\Templates\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\Templates\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项目模板-阿不
    微信扫一扫交流

    作者:CoderZh
    公众号:hacker-thinking (一个程序员的思考)
    独立博客:http://blog.coderzh.com
    博客园博客将不再更新,请关注我的「微信公众号」或「独立博客」。
    作为一个程序员,思考程序的每一行代码,思考生活的每一个细节,思考人生的每一种可能。
    文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    JavaScript数据结构和算法----队列
    JavaScript数据结构和算法----栈
    ES6箭头函数
    JavaScript的错误处理
    easing--缓动函数--贝塞尔函数--圆盘转动抽奖应用
    node之子线程child_process模块
    node上传文件并在网页中展示
    Python内置函数之int()
    从Python的角度来看编码与解码
    关于.pyc文件
  • 原文地址:https://www.cnblogs.com/coderzh/p/1542120.html
Copyright © 2020-2023  润新知