VS2010中编写宏添加作者信息与函数注释
这里所说的宏是指通过一系列键盘组合键和可以插入自定义内容。下面介绍怎么编写一个自己的宏:
1、在Visual Studio 2010中按Alt+F11打开宏IDE:

2、打开后选择添加模块:

3、在弹出的窗口中输入名称后确定添加:

4、出现如下页面即可进行编辑:

5、在Public Module MyInformation中添加如下代码:
(1)FileSign函数:添加作者信息
Public Sub FileSign()
Dim DocSel As EnvDTE.TextSelection
DocSel = DTE.ActiveDocument.Selection '活动点移到文件开头
DTE.ActiveDocument.Selection.StartOfDocument() If DocSel.FindPattern("Last modified", vsFindOptions.vsFindOptionsRegularExpression) Then
'找到Last modified字符串,说明已经添加过作者信息,只更新Last modified和Filename信息
DocSel.SelectLine()
DocSel.Delete()
DocSel.SelectLine()
DocSel.Delete()
DocSel.Text = "// Last modified : " + Date.Today.ToString("yyyy-MM-dd") + " " + TimeOfDay.Hour.ToString("") + ":" + TimeOfDay.Minute.ToString("")
DocSel.NewLine()
DocSel.Text = "// Filename : " + DTE.ActiveDocument.Name
DocSel.NewLine()
Else
'没有找到Last modified字符串,添加全部信息
DTE.ActiveDocument.Selection.StartOfDocument()
DocSel.Text = "//=================================================================="
DocSel.NewLine()
DocSel.Text = "// Author : vitah"
DocSel.NewLine()
DocSel.Text = "// Mail : linw1225@163.com"
DocSel.NewLine()
DocSel.Text = "// Last modified : " + Date.Today.ToString("yyyy-MM-dd") + " " + TimeOfDay.Hour.ToString("") + ":" + TimeOfDay.Minute.ToString("")
DocSel.NewLine()
DocSel.Text = "// Filename : " + DTE.ActiveDocument.Name
DocSel.NewLine()
DocSel.Text = "// Description :"
DocSel.NewLine()
DocSel.Text = "//"
DocSel.NewLine()
DocSel.Text = "//=================================================================="
DocSel.NewLine()
DocSel.NewLine()
End If DocSel.MoveToLineAndOffset(, ) '活动点移动到Description处,填写描述信息
End Sub
FileSign
Public Sub FuncSign()
Dim DocSel As EnvDTE.TextSelection
DocSel = DTE.ActiveDocument.Selection
DocSel.NewLine()
DocSel.Text = "//=================================================================="
DocSel.NewLine()
DocSel.Text = "// Function : "
DocSel.NewLine()
DocSel.Text = "// Description : "
DocSel.NewLine()
DocSel.Text = "// Calls : "
DocSel.NewLine()
DocSel.Text = "// Called By : "
DocSel.NewLine()
DocSel.Text = "// Table Accessed : "
DocSel.NewLine()
DocSel.Text = "// Table Updated : "
DocSel.NewLine()
DocSel.Text = "// Input : "
DocSel.NewLine()
DocSel.Text = "// Output : "
DocSel.NewLine()
DocSel.Text = "// Return : "
DocSel.NewLine()
DocSel.Text = "// Others : "
DocSel.NewLine()
DocSel.Text = "//=================================================================="
End Sub
FuncSign
添加完成后保存:

6、保存后可以关闭宏IDE,进入Visual Studio 2010主界面—>工具—>选项—>环境—>键盘项,进入如下页面:

7、接着可以为刚才编写的宏映射键盘快捷键(在此只演示添加作者信息的函数FileSign的设置操作,函数FuncSign设定与之类似):

输入快捷键后,点击分配按钮,若快捷键没有被占用则下面的“快捷键的当前使用对象”框内容为空,可以点击确定完成宏的映射设置;
8、完成后,即可验证本次宏的编写是否正确。
注:
本文中的代码适用于C/C++文件,且注释必须是每行行首添加“//”,若是在首行行首和末行行末各添加“/*”和“*/”会出现如下问题:
当代码文件的第一行不是空白行时,会出现如下错误;若代码文件第一行为空,则显示正常。

附:
(1)部分图片引用自CSDN郗晓勇的博客:http://blog.csdn.net/beijiguangyong/article/details/6371504
(2)MSDN中关于宏的一些介绍:http://msdn.microsoft.com/zh-cn/library/b4c73967(v=vs.100).aspx
(3)MSDN中关于控制代码编辑器的介绍:http://msdn.microsoft.com/zh-cn/library/cwda3d81(v=vs.100).aspx
(4)MSDN中关于TextSelection接口的介绍:http://msdn.microsoft.com/zh-cn/library/EnvDTE.TextSelection_methods(v=vs.100).aspx
VS2010中编写宏添加作者信息与函数注释的更多相关文章
- [linux] vim在源代码中自动添加作者信息(转载)
原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...
- VS2010中编写x64汇编的具体方法
编写涉及系统特性的一些底层程序,特别是ShellCode,不可避免地要采用直接编写汇编代码的方式. 在目标平台为x86模式时,可以直接使用内联汇编,这个很多人都比较熟悉了,也非常地方便. 但是当目标平 ...
- office中通过宏添加快捷键
把“Microsoft 公式 3.0”作为一个按钮放在 2013中的快速访问工具栏的方法 在使用office办公软件的过程中,因为有的人还在使用office2003版本,所以在使用高版本的office ...
- Lisp中编写宏的步骤以及规范
一.编写步骤 1.编写示例的宏调用以及它应当展开的代码,反之亦然. 2.编写从示例调用中生成手写展开式的代码. 3.确保宏抽象不产生"泄露". 二.遵循规则 1.除非有特殊理由,否 ...
- pycharm查看代码注释的方法,代码编写日志及作者信息等
竟然在边栏有个右键的快捷键.annotate可以查看代码书写日期及作者 鼠标悬停可以看到更加详细的时间等信息 原理应该是利用git blame
- VS2010中 为图片添加背景图片
很简单的东西,嘿嘿 void CTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage( ...
- eclipse自动添加作者、日期等注释
使用eclipse的时候一般会添加自己的注释,标注日期作者等内容,我总结的添加注释的方式有两种:一.在新建class时自动添加注释:二.通过快捷键自动添加注释.下面分别描述一下添加方式. 一.新建cl ...
- Vim中自动在程序起始处添加版权和作者信息
在编写程序的时候,经常需要在程序开始写上程序的简要介绍和作者信息,如下: 这种信息,除了文件名和修改时间可能经常发生变化外,其他基本不变,可以在程序开始自动加入,方法就是在家目录下的.vimrc中写入 ...
- C语言中的宏定义
目录(?)[-] 简单宏定义 带参数的宏 运算符 运算符 宏的通用属性 宏定义中圆括号 创建较长的宏 较长的宏中的逗号运算符 宏定义中的do-while循环do 空操作的定义 预定义宏 C语言中常用的 ...
随机推荐
- Qt 学习之路 :信号槽
信号槽是 Qt 框架引以为豪的机制之一.熟练使用和理解信号槽,能够设计出解耦的非常漂亮的程序,有利于增强我们的技术设计能力. 所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被 ...
- IOS-tableView中的cellHeadView随着table滚动
IOS-tableView中的cellHeadView随着table滚动 设置table的style 首先要将table设置为UITableViewStyleGrouped类型.这样就会得到table ...
- Java基础知识强化之集合框架笔记19:List集合迭代器使用之 并发修改异常的产生原因 以及 解决方案
1. 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现. ConcurrentModi ...
- iOS图片压缩
项目中常会遇到,上传图片的操作,由于iPhone手机直接拍照的图片往往比较大,一般3-4M,如果直接上传不做处理会浪费用户很多流量,再者有很多场景并不需要高清图片,所以在上传图片前对图片进行压缩,是很 ...
- js自定义方法名
自定义方法名: <script language="javascript" type="text/javascript">window.onload ...
- appium系列教程(转载)
1.系列文章:转载来源:乙醇的cnblog http://www.kuqin.com/shuoit/20140704/340994.html 2.环境部署:http://www.51testing.c ...
- 在oracle中怎么把一张表的数据插入到另一张表中
把table2表的数据插入到table1中 insert into table1 select * from table2
- WCF存储图片到指定文件夹下
string path = System.IO.Directory.GetCurrentDirectory() + @"\POIImages\"; Guid imgid = Gui ...
- ubuntu libreOffice设置为中文界面
在终端输入: sudo apt-get install libreoffice-l10n-zh-cn libreoffice-help-zh-cn 上面的命令是下载中文包,并安装,再次打开libreo ...
- [转]mysql自动定时备份数据库的最佳方法-支持windows系统
网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...