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

    Ribbon界面就是微软从Office2007開始引入的一种为了使应用程序的功能更加易于发现和使用.降低了点击鼠标的次数的新型界面.从实际效果来看,不仅外观美丽,并且功能直观,用户操作简洁方便. 利用 ...

  2. OceanBase分布式事务以及两阶段提交实现具体设计

    眼下OceanBase中还存在updaeserver单点,下一步的开发任务是使得OB支持多点写入,支持多个UPS(及updateserver). 当中难点是怎样设计两阶段提交的失败恢复以及多机的快照读 ...

  3. 微信小程序5 - 数据驱动界面

    微信小程序不可以使用js直接控制界面元素.而是通过改变 this.data中的属性,同步到界面 这个问题可以克服,带来的就是和H5不一样的编码方式.JS中更多的是改变数据的逻辑,而不是获取某个View ...

  4. R语言安装sqldb包报错解决办法

    我使用Rtudio环境,安装sqldb几次出错.网上没有好的教程. 经过自己试验之后,这样处理.我写出来以后,供大家参考. > install.packages("sqldf" ...

  5. Java异常框架设计

    什么是异常? 异常(exception)应该是异常事件(exceptional event)的缩写.异常定义:异常是一个在程序执行期间发生的事件,它中断正在执行的程序的正常的指令流.当在一个方法中发生 ...

  6. (转)javascript日期格式化扩展

    转自:http://blog.csdn.net/vbangle/article/details/5643091 javascript Date format(js日期格式化)   方法一:这个很不错, ...

  7. gcc/g++实战之动态链接库与静态链接库编写

    函数库一般分为静态库和动态库两种. 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了.其后缀名一般为”.a”. 动态库: 与之相反, ...

  8. 计算机视觉中的边缘检测Edge Detection in Computer Vision

    计算机视觉中的边缘检测   边缘检测是计算机视觉中最重要的概念之一.这是一个很直观的概念,在一个图像上运行图像检测应该只输出边缘,与素描比较相似.我的目标不仅是清晰地解释边缘检测是怎样工作的,同时也提 ...

  9. MYSQL5.7:几个简单的show语句演示

  10. Android 7.1.1 锁屏界面启动流程

    前几天遇到一个低概率复现锁屏界面不显示,仅仅显示状态栏的问题,跟了下锁屏界面启动显示的流程,在这分享下,也方便以后自己查看.前面简介了下Zygote启动流程, Zygote进程启动后会首先创建一个Sy ...