博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual Studio自定义模板(二)
阅读量:5158 次
发布时间:2019-06-13

本文共 2018 字,大约阅读时间需要 6 分钟。

继续的自定义模板的话题,我们进行定义更完美的模板。首先我们来分析一个Visual Studio模板文件的构成。Visual Studio 2005导出的模板的位置是在“[我的文档]\Visual Studio 2005\My Exported Templates\”文件夹中,而对于项模板,要想应用到“添加新项”的对话框中,必须把模板copy到“[我的文档]\Visual Studio 2005\Templates\ItemTemplates”

我们可以看到一个模板文件就是一个zip文件,解压该文件,我们会看到三个文件,.ico, .cs, .vstemplate,ico是显示在“添加新项”对话框中显示的图标,.cs文件就是我们定义的模板原文件,而vstemplate文件,是一个xml文件,该文件定义了模板的元数据,对于Visual Studio 2005,该文件的schema文件保存在“[Visual Studio InstallDirectory]\Xml\Schemas\2052\vstemplate.xsd”中,下面是该文件的一个原型,

MyClassTemplate.cs
MyClassTemplate
<没有可用的说明>
CSharp
10
__TemplateIcon.ico
MyClassTemplate1.cs

至于各个结点的说明,大家可以参考上面提到的schema文件,或者msdn(ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vsxmlref/html/6f74a2d5-3811-43d6-8b10-eb5823ad8995.htm),在<TemplateContent>结点下有一个子结点<CustomParameters>,在该结点下,我们可以方便的定义自己的模板参数,如下,

...
...

上面我们定义了一个参数$MyParameter1$,该参数的值为MyValue1,自定义的模板参数跟VS提供的默认模板参数的使用方法一样,我们可以直接在模板原文件中使用,如下所示: 

#region Copyright (C) Rainsoft All rights reserved /*******************************************************************************************  * Creation:  *   Author:        $username$  *   Date:            $time$  *   Description:   $MyParameter1$  *   Version:  * Modification:  *   Author:  *   Date:  *   Description:  *   Version: *******************************************************************************************/ #endregion namespace $rootnamespace$ {
using System; public class $itemname$ {
} }

我们在Description中使用了我们刚才定义的模板参数$MyParameter1$,VS在根据该模板生成新项时,会自动的把我们定义的模板参数定义成相应的值,但这个值只能是静态的值,不能动态生成,比如在很多公司中登录windows的用户名可能是公司的内部员工编号,不适合作文件头定义中的Author项,通过定义模板参数,我们就可以解决这个问题,但对于自定义格式的Date项,这种方式还不行,下一篇文章我将提供最终的解决方法。

转载于:https://www.cnblogs.com/hurenwang/archive/2011/12/14/2287936.html

你可能感兴趣的文章
Pycharm Error loading package list:Status: 403错误解决方法
查看>>
steps/train_sat.sh
查看>>
转:Linux设备树(Device Tree)机制
查看>>
iOS 组件化
查看>>
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>
写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋...
查看>>
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>