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 的坐标系统了.泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础. 坐标 ...
- [转] Bound Service的三种方式(Binder、 Messenger、 AIDL)
首先要明白需要的情景,然后对三种方式进行选择: (一)可以接收Service的信息(获取Service中的方法),但不可以给Service发送信息 (二) 使用Messenger既可以接受Servic ...
- 动态代理与AOP
1. 代理的分类: 静态代理:每个代理类只能为一个接口服务 动态代理:可以通过一个代理类完成全部的代理功能(由JVM生成实现一系列接口的代理类,即:生成实现接口的类的代理) 2. 动态代理: 在Jav ...
- Android中你应该知道的设计模式
建造者模式 建造者模式最明显的标志就是Build类,而在Android中最常用的就是Dialog的构建,Notification的构建也是标准的建造者模式. 建造者模式很好理解,如果一个类的构造需要很 ...
- Java基础知识强化之集合框架笔记23:ArrayList的实现原理
1. ArrayList的实现原理: 这个可以直接参考网友的博客:http://www.cnblogs.com/ITtangtang/p/3948555.html
- clearTimeout(timeoutfunc) 是否有必要执行
当使用 setTimeout() 方法的时候,是否必须执行 clearTimeout() ? 在 setTimeout() 内的函数执行之前,如果想要阻止执行该方法,是有必要执行 cleartTime ...
- Win10安卓模拟器Visual Studio Emulator for Android使用简介(转)
Visual Studio Emulator for Android是微软官方发布的独立版本的安卓模拟器,这款软件可以让安卓应用开发者更加轻松的用Visual Studio编写Android应用,据说 ...
- 浅谈Android系统的图标设计规范
http://homepage.yesky.com/89/11620089.shtml 目前移动平台的竞争日益激烈,友好的用户界面可以帮助提高用户体验满意度,图标Icon是用户界面中一个重要的组成部分 ...
- Android--WebView控件
WebView 一 简介: WebView一般用于将Android页面已HTML的形式展现,我们一般叫它HTML5开发: WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用,通过 ...
- WCF,WebAPI,WCFREST和WebService的区别
Web ServiceIt is based on SOAP and return data in XML form.It support only HTTP protocol.It is not o ...