在日常的开发过程中我们经常需要为我们的类文件添加注释和版权等信息,以前都是将信息文本复制、粘贴,要是添加一两个个还好,要是添加很多就显得很麻烦了。为了减少这种重复性的工作,有没有好的解决办法呢?答案是肯定的,其实我们每次添加的文件都是按照类库模板自动生成的,所以只需要修改Visual Studio的类库模板就可以了。

首先找到Visual Studio(2005、2008、2010) 的安装路径下\Common7\IDE\ItemTemplatesCache\CSharp\目录,面有好多目录,Windows Forms是开发Windows Forms程序的模版目录,Web是Web项目文件的模版目录,其他的同理。进入Web目录有选择2052目录(2052是中文地区的代号)下,会看到好多带有.zip的目录,比如要修改web页面的模版,就修改\WebForm.zip\Default.aspx.cs,打开Default.aspx.cs会看到如下内容。

  1. using System;  
  2. using System.Collections.Generic;  
  3. $if$ ($targetframeworkversion$ == 3.5)using System.Linq;  
  4. $endif$using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. namespace $rootnamespace$  
  8. {  
  9. public partial class $classname$ : System.Web.UI.Page  
  10. {  
  11. protected void Page_Load(object sender, EventArgs e)  
  12. {  
  13. }  
  14. }  
  15. }

代码中的"$"符号之间的字符是模版的变量,具体变量含义请参照:

  1. <strong>time$ 日期  
  2. $year$ 年份  
  3. $clrversion$ CLR版本  
  4. $GUID$ 用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。  
  5. $itemname$ 用户在对话框中提供的名称。  
  6. $machinename$ 当前的计算机名称(例如,Computer01)。  
  7. $projectname$ 用户在对话框中提供的名称。  
  8. $registeredorganization$ HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。  
  9. $rootnamespace$ 当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间。  
  10. $safeitemname$ 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。  
  11. $safeprojectname$ 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。  
  12. $time$ 以 DD/MM/YYYY 00:00:00 格式表示的当前时间。  
  13. $userdomain$ 当前的用户域。  
  14. $username$ 当前的用户名。  
  15. </strong>

我的一个注释示例:

  1. /************************************************************************  
  2. * 项目名称 :  工作日志系统   
  3. * 项目描述 :       
  4. * 类 名 称 :  UserInfo     
  5. * 版 本 号 :  v1.0.0.0   
  6. * 说    明 :  用户信息管理类     
  7. * 作    者 :  灵雨飘零   
  8. * 创建时间 :  2011/12/15 13:19:28  
  9. * 更新时间 :  2011/12/15 13:19:28  
  10. ************************************************************************  
  11. * Copyright @ 灵雨工作室 2011 . All rights reserved.  
  12. ************************************************************************/

按照上面的实例设计模板:

  1. /************************************************************************
  2. * 项目名称 :  $rootnamespace$  
  3. * 项目描述 :     
  4. * 类 名 称 :  $safeitemrootname$
  5. * 版 本 号 :  v1.0.0.0 
  6. * 说    明 :     
  7. * 作    者 :  $username$
  8. * 创建时间 :  $time$
  9. * 更新时间 :  $time$
  10. ************************************************************************
  11. * Copyright @ 灵雨工作室 $year$. All rights reserved.
  12. ************************************************************************/
  1. <pre class="csharp" name="code">using System;  
  2. using System.Collections.Generic;  
  3. $if$ ($targetframeworkversion$ == 3.5)using System.Linq;  
  4. $endif$using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. namespace $rootnamespace$  
  8. {  
  9. public partial class $classname$ : System.Web.UI.Page  
  10. {  
  11. protected void Page_Load(object sender, EventArgs e)  
  12. {  
  13. }  
  14. }  
  15. }  
  16. </pre>  
  17. <pre></pre>  
  18. <p><br>  
  19. 生成的文件:<br>  
  20. </p>  
  21. <pre class="csharp" name="code">/************************************************************************
  22. * 项目名称 :  工作日志系统  
  23. * 项目描述 :     
  24. * 类 名 称 :  Default2
  25. * 版 本 号 :  v1.0.0.0 
  26. * 说    明 :     
  27. * 作    者 :  灵雨飘零
  28. * 创建时间 :  2012-5-12 14:26:49
  29. * 更新时间 :  2012-5-12 14:26:49
  30. ************************************************************************
  31. * Copyright @ 灵雨工作室 2012. All rights reserved.
  32. ************************************************************************/
  33. using System;  
  34. using System.Collections.Generic;  
  35. using System.Linq;  
  36. using System.Web;  
  37. using System.Web.UI;  
  38. using System.Web.UI.WebControls;  
  39. public partial class Default2 : System.Web.UI.Page  
  40. {  
  41. protected void Page_Load(object sender, EventArgs e)  
  42. {  
  43. }  
  44. }  
  45. </pre>  
  46. <p> </p>  
  47. <p>修改其他的模板按照以上修改方法即可,此处不再详述。</p>  
  48. <p><br>  
  49. </p>

让Visual Studio 自动添加头部注释信息的更多相关文章

  1. Visual Studio自动添加头部注释

    VS2013 自动添加头部注释 1.找到VS2013的安装目录 下文以安装目录 C:\Program Files (x86)\Microsoft Visual Studio 12.0 为例 2.修改C ...

  2. Visual Studio自动添加头部注释 -C#开发2010-2013验证

    在团队开发中,头部注释是必不可少的.但在开发每次新建一个类都要复制一个注释模块也很不爽,所以得想个办法让开发工具自动生成我们所需要的模板.....操作方法如下: 找你的vs安装目录, 比如我的是在D盘 ...

  3. Visual Studio 20**自动添加头部注释信息

    关于Visual Studio 20**自动添加头部注释信息   作为一个万年潜水党,不关这一篇文章技术含量如何,也算是一个好的开始吧.   在日常的开发中我们经常需要为类库添加注释和版权等信息,这样 ...

  4. 关于Visual Studio 20**自动添加头部注释信息

    作为一个万年潜水党,不管这一篇文章技术含量如何,也算是一个好的开始吧.   在日常的开发中我们经常需要为类库添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们 ...

  5. 关于Visual Studio 2010自动添加头部注释信息

    作为一个万年潜水党,不关这一篇文章技术含量如何,也算是一个好的开始吧.   在日常的开发中我们经常需要为类库添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们 ...

  6. Visual Studio 2010自动添加头部注释信息

    在日常的开发中我们经常需要为我们的类库添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们可以把这些信息保存在Visual Studio 2010类库模版文件里 ...

  7. C#实现为类和函数代码自动添加版权注释信息的方法

    这篇文章主要介绍了C#实现为类和函数代码自动添加版权注释信息的方法,主要涉及安装文件的修改及函数注释模板的修改,需要的朋友可以参考下   本文实例讲述了C#实现为类和函数代码自动添加版权注释信息的方法 ...

  8. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义

    Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...

  9. VS2015 自动添加头部注释

    让VS自动生成类的头部注释,只需修改两个文集即可,一下两个路径下个有一个 Class.cs文件 D:\Program Files (x86)\Microsoft Visual Studio 14.0\ ...

随机推荐

  1. Lua一般都用来干什么,有什么优点

    Lua一般用于嵌入式应用,现在越来越多应用于游戏当中,魔兽世界,愤怒的小鸟都有用到. Lua极易嵌入到其他程序,可当做一种配置语言. 还有很多需要性能的地方,比如:游戏脚本,nginx,wiresha ...

  2. nodejs操作图片方法

    最近项目中用到nodejs做图片服务器,用户上传图片生成缩略图返回地址一系列操作. 原来一直用.net平台,所有都封装好了生成缩略图这种分分钟就解决了,遂度娘一番全是调用imagemagick和gra ...

  3. 说明Oracle数据库逻辑备份和物理备份的方式。

    说明Oracle数据库逻辑备份和物理备份的方式. 解答:Oracle备份包括逻辑备份和物理备份. 1).逻辑备份 数据库的逻辑备份包含读一个数据库记录集和将记录集写入文件. a.输出(Export)输 ...

  4. 那些年我读过的Blog(Ⅰ)

    序 近期发现自己已经很久很久没有写过文章,其中包括公开的和非公开的Blog,于是自己去翻了以前很多关注的人的Blog,发现也已经有很大一部分没有更新了,遂有了本文,梳理一下自己那些年关注过并且现在已经 ...

  5. bootstrap基础学习十一篇

    bootstrap下拉菜单(Dropdowns) 下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.如需使用下列菜单,只需要在 class .dropdown 内加上下拉菜单即可. a.代码示例如 ...

  6. java Thread方法解析: sleep join wait notify notifyAll

    转载自: sleep(),yield(),wait()区别详解:http://dylanxu.iteye.com/blog/1322066 join方法详解:http://www.open-open. ...

  7. mybatis总结(二)

    实现简单的crud,上一节已经进行最简单的查询 这次在oracle数据库中操作,就在oracle实例中操作,分别是Dept表和Emp表,所以配置文件需要改动. 1.实体类 Dept类 public c ...

  8. Cocos2d-x 3.0final 终结者系列教程08-画图节点Node中的锚点和坐标系

    图片问答,(仅仅要回答正确,锚点和坐标系就学会了) 1.下图一共同拥有几个填充为淡黄色的实心矩形? 选择:A,2个  B, 4个 C,1个 D,16个 答案.B.4个 2.下图的4个实心矩形排列在几行 ...

  9. HDU3533(Escape)

    不愧是kuangbin的搜索进阶,这题没灵感写起来好心酸 思路是预处理所有炮台射出的子弹,以此构造一个三维图(其中一维是时间) 预处理过程就相当于在图中增加了很多不可到达的墙,然后就是一个简单的bfs ...

  10. 创建Json

    1)生成 JSON: 方法 1.创建一个 map,通过构造方法将 map 转换成 json 对象 Map<String, Object> map = new HashMap<Stri ...