VS2010编写自定义宏注释
来源:互联网 发布:python datetime函数 编辑:程序博客网 时间:2024/04/29 16:38
一部分引自:http://blog.csdn.net/ajioy/article/details/8483011
这里所说的宏可不是指#define PI 3.14159之类的,而是按下Alt + 1,Alt + 2之类的键盘组合之后可以方便地插入一大串自定义的内容,如:
- /*******************************************************************
- * 函数名称:
- * 功 能:
- * 参 数:
- * 返 回 值:void
- * 创 建 人:Ajioy
- * 博 客:blog.csdn.net/ajioy
- * 电子邮箱:ajioy1206@gmail.com
- * 日 期:2013.1.8 21:18
- *******************************************************************/
这在团队开发中显得尤为重要,当然,在网络上发布源代码时也起到一个简单地版权声明作用,而不需要人为地花时间编写及排版,减少了许多繁琐而不必要的工作。
简单地了解一下,这里谈的宏(Macro)是开发工具VS2010(或VS的其它版本)自带的,一种方便开发人员进行注释、版权声明或者执行其他若干琐碎工作的“小机器人”。重复、不辞劳苦地为我们做一些不可缺少的小事。总之,有它的存在,生活更美好。
怎样自己写一个宏?
1.打开VS2010(或VS的其它版本),“Tools” --> "Macros"--->"Macros IDE...(Alt + F11)" 打开宏IDE
2.在宏IDE的工具栏中"Project"->"Add Module"(或Add New Item)->Name:AjioyMacros--->"Add"
3.将初始内容替换成以下代码
- Imports System
- Imports EnvDTE
- Imports EnvDTE80
- Imports EnvDTE90
- Imports EnvDTE90a
- Imports EnvDTE100
- Imports System.Diagnostics
- Imports System.Text
- Imports System.Text.RegularExpressions
- Imports System.IO
- Imports System.Collections.Specialized
- Public Module AjioyMacros'这里要与保存的Module名保持一致,不然无法调用宏
- Sub AddMessageBox()
- 'DESCRIPTION 增加对话框
- ActiveDocument.Selection.Text = "MessageBox("""",""提示"");" + vbNewLine + "system(""pause"");"
- End Sub
- Sub AddStartComment()
- 'DESCRIPTION 注释开始
- ActiveDocument.Selection.Text = "system(""pause"");"
- End Sub
- Public Sub FileSign()
- 'DESCRIPTION 文件签名
- Dim Description As New StringBuilder
- Dim BlankLine As String
- BlankLine = "//" + vbNewLine
- With Description
- .AppendFormat("//Copyright (c) 2013 Ajioy All Rights Reserved{0}",vbNewLine)
- .AppendFormat("/*********************************************************************************************{0}", vbNewLine)
- .AppendFormat("*文件名:{0}{1}{2}", vbTab, DTE.ActiveDocument.Name, vbNewLine)
- .AppendFormat("*说明:{0}{1}{2}", vbTab, "", vbNewLine)
- .AppendFormat("*创建日期:{0}{1}{2}", vbTab, Date.Today.ToString("yyyy-MM-dd"), vbNewLine)
- .AppendFormat("*作者:{0}{1}{2}", vbTab, "Ajioy", vbNewLine)
- .AppendFormat("*版本:{0}{1}{2}", vbTab, "1.0", vbNewLine)
- .AppendFormat("*----------------------------------------------------------------------------------------------{0}", vbNewLine)
- .AppendFormat("*修改记录:{0}", vbNewLine)
- .AppendFormat("*日期{0}版本{1}修改人{2}修改内容{3}", New String(vbTab, 3), vbTab, vbTab, vbNewLine)
- .AppendFormat("*{0}{1}", Date.Today.ToString("yyyy-MM-dd"), vbNewLine)
- .AppendFormat("********************************************************************************************/{0}", vbNewLine)
- .Append(vbNewLine)
- End With
- '插入cs文件头部
- Dim objSel As TextSelection
- objSel = CType(DTE.ActiveDocument.Selection, TextSelection)
- DTE.UndoContext.Open("FileSign")
- objSel.StartOfDocument(False)
- objSel.Insert(Description.ToString())
- DTE.UndoContext.Close()
- End Sub
- Sub FunctionSign()
- 'DESCRIPTION 文件签名
- Dim obj
- obj = Now()
- Dim DocSel As EnvDTE.TextSelection
- DocSel = DTE.ActiveDocument.Selection
- DocSel.NewLine()
- DocSel.Text = "/*******************************************************************"
- DocSel.NewLine()
- DocSel.Text = "* 函数名称:"
- DocSel.NewLine()
- DocSel.Text = "* 功 能:"
- DocSel.NewLine()
- DocSel.Text = "* 参 数:"
- DocSel.NewLine()
- DocSel.Text = "* 返 回 值:"
- DocSel.NewLine()
- DocSel.Text = "* 创 建 人:Ajioy"
- DocSel.NewLine()
- DocSel.Text = "* 博 客:blog.csdn.net/ajioy"
- DocSel.NewLine()
- DocSel.Text = "* 电子邮箱:ajioy1206@gmail.com"
- DocSel.NewLine()
- DocSel.Text = "* 日 期:" + CStr(Year(obj)) + "." + CStr(Month(obj)) + "." + CStr(Day(obj)) + " " + CStr(Hour(obj)) + ":" + CStr(Minute(obj)) 'System.DateTime.Now.ToLongDateString()
- DocSel.NewLine()
- DocSel.Text = "*******************************************************************/"
- End Sub
- Sub AddModify()
- 'DESCRIPTION 增添修改
- Dim obj
- obj = Now()
- ActiveDocument.Selection.Text = "//Ajioy" + CStr(Year(obj)) + "." + CStr(Month(obj)) + "." + CStr(Day(obj)) +" " + CStr(Hour(obj)) + ":" + CStr(Minute(obj)) + " 修改"
- End Sub
- Sub AddStartSymbol()
- 'DESCRIPTION 开始注释
- ActiveDocument.Selection.Text = "/*"
- End Sub
- Sub AddEndSymbol()
- 'DESCRIPTION 结束注释
- ActiveDocument.Selection.Text = "*/"
- End Sub
- End Module
简单实现功能,该部分引自:http://www.xuebuyuan.com/630353.html
Imports SystemImports EnvDTEImports EnvDTE80Imports EnvDTE90Imports EnvDTE90aImports EnvDTE100Imports System.DiagnosticsPublic Module MyNote Sub DocumentFileHeader() Dim DocSel As EnvDTE.TextSelection DocSel = DTE.ActiveDocument.Selection DocSel.NewLine() DocSel.Text = "'************************************************" DocSel.NewLine() DocSel.Text = "'◇作者:吴利昌" DocSel.NewLine() DocSel.Text = "'◇小组:无" DocSel.NewLine() DocSel.Text = "'◇说明:" DocSel.NewLine() DocSel.Text = "'◇版本号:V1.0" DocSel.NewLine() DocSel.Text = "'◇创建日期:" + System.DateTime.Now.ToLongDateString DocSel.NewLine() DocSel.Text = "'*************************************************" End SubEnd Module
保存后关闭宏IDE
4.回到VS2010主界面,"Tools"--->"Options"--->"Environment"--->"Keyboard"--->在Show commands containing:下的编辑框中输入FunctionSign(所有带括号的那些名称,如AddStartSymbol()...),会看到有"Macros.Macros(或Samples).AjioyMacros.FunctionSign"的项,选中它,在Press shortcut keys:下自定义快捷键,建议用Alt + 数字0-9和-+键组合,以免与编译环境快捷键发生冲突,之后"Assign",最后确定。
接下来我们可以随便验证一下,打开一个.cpp文件,按下Alt + 数字,产生自定义注释。
- VS2010编写自定义宏注释
- VS2010编写自定义宏
- VS2010编写自定义宏
- VS2010编写自定义宏
- VS2010编写自定义宏
- VS2010编写自定义宏,定义解决方案项目折叠、展开快捷键
- 为VS2010编写IDE宏
- VS2010利用宏为函数添加注释
- VS2010 如何使用宏添加注释
- VS2010宏注释运行后没有效果
- .NET 自定义注释格式&快捷注释宏
- xcode自定义编写插件----改变c++/c注释风格
- VS2010 注释、取消注释快捷方式
- vs2010 注释与取消注释
- mac环境下编写的中文注释在win环境下vs2010打开编译不通过。
- 为VS2010编写IDE宏(2)
- VS2010 提示型 注释
- vs2010,vs2012注释快捷键
- NYOJ1100【WAJUEJI which home strong!】BFS+优先队列
- 惊艳的 cygwin——Windows下的Linux命令行环境的配置和使用
- Pentaho Report Designer 教程(一)初识
- 开发工具站点(持续更新。。)
- 软件开发过程中的各种图表
- VS2010编写自定义宏注释
- hello csdn
- rp-pppoe与pppd移植的一些问题
- Linux-(3)Linux关机和重启
- 反转二叉树,即交换所有结点的左右子树,但不能使用递归方法。
- 关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: "userName")
- Ubuntu 安装mysql和简单操作
- android动态生成表格,使用的是TABLELAYOUT
- 刨根问底(一):从INode客户端看如何培养兴趣