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 学习之路 :坐标系统
在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Qt 的坐标系统了.泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础. 坐标 ...
- php 两个数组是否相同,并且输出全面的数据,相同的加一个字段标示
方法一: $date是数组,数组中有字段id,name; $data1是数组,数组中有字段sort_id,name; 所以要通过$date[$i]['id']==$data1[$j]['sort_id ...
- Struts.properties(转)
原文地址:http://blog.csdn.net/wfcaven/article/details/5937567 Struts2提供了很多可配置的属性,通过这些属性的设置,可以改变框架的行为,从而满 ...
- Python之路【第十二篇】:JavaScrpt -暂无内容-待更新
Python之路[第十二篇]:JavaScrpt -暂无内容-待更新
- TreeView checkbox
C# TreeView checkbox 联动打勾 #region 将树的checkbox选中 private void setNodeTrue(Node selNode) { Node node = ...
- Eclipse基本设置
1.设置java的JDK:window->preferences->Java->Installed JREs->Add 2.设置文件默认打开方式: window->pre ...
- oracle 的 startup,startup mount,startup nomount之间的区别
startup,startup mount,startup nomount之间的区别 startup nomount选项:(读初始化参数文件,启动实例) startup nomount选项启动实例 ...
- JavaScript学习笔记之原型对象
本文是学习<JavaScript高级程序设计>第六章的笔记. JS中,便于批量创建对象的三种模式: 1.工厂模式:用一个函数封装创建对象的细节,传入必要的参数,在函数内部new一个对象并返 ...
- iOS打包ipa 让别人设备安装你的App
首先推荐一本书<一步一步学习iOS 5编程(第二版) – PDF 中文版>在一本学习IOS入门很不错的书籍,目前,这是第一本介绍iOS 5.x 和 Xcode 4.3 的中文版书籍,尤其适 ...
- Cocos2dx开发(3)——Cocos2dx打包成APK,ANT环境搭建
前面cocos2dx的运行环境(Android SDK,JDK,),最后Cocos2dx的APK的打包环境,最运行环境上再加ANT环境就好了 1.ANT下载配置 官网下载:http://ant.apa ...