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

    Link-based Classification相关数据集 Datasets Document Classification Datasets: CiteSeer: The CiteSeer dat ...

  2. Dump 分析法

    云更新目前能够收集32位客户机系统(XP和win7 32位)产生的蓝屏DMP文件到服务端DUMP文件夹,我们可以通过分析蓝屏曰志来确定到底是什么导致了客户机蓝屏. 一.WinDbg是什么?它能做什么? ...

  3. python笔记4 - 函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  4. (转载)【C#4.0】dynamic和var及object

    dynamic a = 10;a = a + 10;Console.WriteLine(a.GetType()); 此段代码会输出 System.Int32,第二行不需要类型转换,因为在运行时识别类型 ...

  5. LigerTree的使用

    效果图: 页面: <div id="divs" style="width: 310px; overflow-x: hidden; overflow-y: hidde ...

  6. C#实现反射调用动态加载的DLL文件中的方法

    反射的作用:1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射.3. ...

  7. 开发人员需知的Web缓存知识(转)

    什么是Web缓存,为什么要使用它? 缓存的类型: 浏览器缓存: 代理服务器缓存: 网关缓存: Web缓存无害吗?为什么要鼓励缓存? Web缓存如何工作 如何控制缓存和不缓存: HTML Meta标签 ...

  8. 【SR】论文资源相关

    1. Anchored Neighborhood Regression for Fast Example-Based Super-Resolution Radu Timofte, Vincent De ...

  9. 【SR】正则化超分辨率复原

    正则化超分辨率图像重建算法研究--中国科学技术大学 硕士学位论文--路庆春 最大后验概率(MAP)的含义就是在低分辨率图像序列已知的前提下,使高分辨率图像出现的概率达到最大.

  10. Castle.MVC框架介绍

    Castle.MVC目前还在Castle的Sandbox中,只是在源代码管理中有,还没有向外发布版本,这里介绍多时Web的MVC,和Castle的MonoRail相比较,这个MVC可以Asp.Net的 ...