偷懒也得怀揣个性

来源:互联网 发布:mp3歌曲批量下载软件 编辑:程序博客网 时间:2024/05/01 12:06

偷懒也得怀揣个性

                                                                                                           --定制具有个性的VS代码模板

         开始使用VS进行程序开发也快有两年的时间了,从开始对其一无所知,到现在的日常工作开发,我的生活已经离不开她了!虽然vs也同样具有臃肿的体态,但是无论是性能,还是应用性、用户化、扩展性等来说,其他的IDE都是无法相比的!vs内置了很多类型的项目模板和项目项模板,这些都极大的方便了我们的工作;但是我们日常开发中,不同的公司对代码开发会有一些不同的规范要求,比如版权声明,如果这些东西可以在新建项目和项目项的时候,自动的加上这些东西,那么就可以“偷懒”节约我们的时间;今天我们简单的介绍一下怎样定制代码模板;

         Vs代码模板简介

         Vs为我们预置了很多的项目和项目项模板,这些模板为我们开始创建项目或扩展当前项目提供了一个起点,我们可以在新建项目和新建项目项的窗口中选择符合我们项目要求的模板;他们可以重复使用,从而使我们可以偷懒而不用从头创建;

         每个类型的模板都必须包括模板定制代码文件、.vstemplate文件;前者定制模板生成代码文件时的具体格式;后者提供一些必要的元数据,比如模板类型等;当然也可以包括一些资源文件,比如在窗口中显示的图片等;最终这些文件会打包成.zip文件,方便我们的部署;

         创建自定义的模板

         秉承微软的一贯作风,vs为我们提供了方便快捷的界面操作工具;我们既可以将创建的模板到处为.zip压缩包,也可以导出为vsix文件;当然如果你愿意你也可以使用vs手动创建这些文件;今天简单的介绍一下使用标准导出模板向导创建自定义项目模板,如果您对其他方式有兴趣,请参考msdn;具体步骤如下

1.       创建一个项目。

2.       编辑该项目,直至其可以作为模板导出为止。

3.       根据需要编辑代码文件,以指示发生参数替换的位置。有关参数替换的更多信息。

4.       在“文件”菜单上单击“导出模板”。随即打开“导出模板”向导。

5.       单击“项目模板”。

6.       如果当前解决方案中有多个项目,请选择要导出到模板中的项目。

7.       单击“下一步”。

8.       为模板选择图标和预览图像。它们将出现在“新建项目”对话框中。

9.       输入模板名称和说明。

10.    单击“完成”。项目将导出为一个 .zip 文件并放到指定的输出位置,而且,如果选择适当的选项,项目还会导入到 Visual Studio 中。

通过上面步骤,我们定制了自己的vs模板,到处的zip文件默认会放在”我的文档”目录下的\Visual Studio 2010\My Exported Templates中;如果你选择可导入vs,那么我们就可以在新建窗口中,选择左侧相关语言(模板使用的语言),然后在中间模板区域就可以找到我们的模板了

附录:

代码定制文件

class1.cs

#region/*********************************************************************** * author:$username$ * date:$time$ * description: *  * copyright @ $username$***********************************************************************/#region NameSpaceusing System;using System.Collections.Generic;using System.Linq;using System.Text;#endregionnamespace WFTH.LibraryTemplate{    /// <summary>    ///     /// </summary>    /// <remarks>    /// $time$  $username$ add     /// $time$  $username$ mod      /// $time$  $username$ del     /// </remarks>    internal class Class1    {        #region  成员        #region 私有字段及相应的属性        #endregion        #region  成员方法        #region xxx功能区        #endregion        #endregion        #endregion    }}#endregion


interface1.cs

#region/*********************************************************************** * author:$username$ * date:$time$ * description: *  * copyright @ $username$***********************************************************************/#region NameSpaceusing System;using System.Collections.Generic;using System.Linq;using System.Text;#endregionnamespace WFTH.LibraryTemplate{    /// <summary>    ///     /// </summary>    /// <remarks>    /// $time$  $username$ add     /// $time$  $username$ mod      /// $time$  $username$ del     /// </remarks>    public  interface Interface1    {        #region 成员        #region  属性成员        #endregion        #region 方法成员        #endregion        #endregion    }}#endregion

模板参数列表

Parameter

说明

clrversion

公共语言运行时 (CLR) 的当前版本。

GUID [1-10]

用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。

itemname

用户在添加新项对话框中提供的名称。

machinename

当前的计算机名称(例如,Computer01)。

projectname

用户在新建项目对话框中提供的名称。

registeredorganization

HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。

rootnamespace

当前项目的根命名空间。此参数用于仅在要添加到项目中的项中替换命名空间。

safeitemname

用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。

safeprojectname

用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。

time

以 DD/MM/YYYY 00:00:00 格式表示的当前时间。

userdomain

当前的用户域。

username

当前的用户名。

webnamespace

当前网站的名称。在 Web 窗体模板中使用此参数以确保类名称是唯一的。如果网站位于 Web 服务器的根目录下,则此模板参数将解析为 Web 服务器的根目录。

year

以 YYYY 格式表示的当前年份。