Visual C++ 设置批量注释
【这是本人在书上看到的一个例子,在这里和大家分享】
实例说明:
Visual C++6.0开发环境虽然提供了丰富的功能,但是也有不尽人意之处。例如,它没有提供批量注释和取消批量注释的功能。但是,Visual C++6.0开发环境的设计者还是非常有远见的,提供了一些接口允许用户扩充开发环境的功能。例如,可以使用 VB Script 脚本来添加新的功能。本实例将介绍使用 VB Script 脚本实现批量注释和取消批量注释的功能。。。。。好了,不废话了,,,直接 上 截图 和 代码 。
【1】 在 Visual C++ 6.0开发环境中选择 【File】|【New】 命令,打开 New 窗口,选择 【File】 选项卡。
【2】在列表中选择【Macro File】选项,在【File】文本框中输入文件名,单击OK按钮创建宏文件。如图所示:
【3】单击OK按钮创建宏文件,弹出 Macro File 窗口。在 Description 备注中输入宏文件的描述信息,单击OK 按钮创建宏文件。如图:
【4】向宏文件中添加两个子过程,语言为 VB Script,代码如下。(直接拷贝代码就可以了,不需要其他设置)
1 Sub SetSelNote() 'Sun DESCRIPTION: 过程 SetSelNote 用于使选中的文本成为注释' 2 dim CurWin '当前获得的窗口 3 set CurWin=ActiveWindow 4 if CurWin.type<>"Text" Then '判断当前窗口是不是文本窗口 5 MsgBox"当前窗口不是代码窗口" 6 else 7 NoteType="//" 8 BeginLine=ActiveDocument.Selection.TopLine 9 EndLine=ActiveDocument.Selection.BottomLine 10 if EndLine<BeginLine then 11 Line=BeginLine 12 BeginLine=EndLine 13 EndLine=Line 14 else 15 for row=BeginLine to EndLine 16 ActiveDocument.Selection.GoToLine row 17 ActiveDocument.Selection.SelectLine '选中当前行 18 ActiveDocument.Selection=NoteType+ActiveDocument.Selection 19 next 20 end if 21 end if 22 end Sub 23 24 Sub CancelSelNote() 25 dim CurWin '当前获得的窗口 26 set CurWin=ActiveWindow 27 if CurWin.type<>"Text" then '判断当前窗口是否是文本窗口 28 MsgBox"当前窗口不是代码窗口" 29 else 30 BeginLine=ActiveDocument.Selection.TopLine 31 EndLine=ActiveDocument.Selection.BottomLine 32 if EndLine<BeginLine then 33 Line=BeginLine 34 BeginLine=EndLine 35 EndLine=Line 36 else 37 for row=BeginLine to EndLine 38 ActiveDocument.Selection.GoToLine row 39 ActiveDocument.Selection.SelectLine '选中当前行 40 SelBlock=ActiveDocument.Selection 41 Trim(SelBlock) 42 pos=instr(SelBlock,"//") 43 if pos<>0 then 44 RightBlock=Right(SelBlock,Len(SelBlock)-2) 45 ActiveDocument.Selection=RightBlock 46 end if 47 next 48 end if 49 end if 50 end Sub
【5】保存宏文件。
源代码就这么一点。
接下来的操作,就是介绍 怎样 把这个 .dsm 文件添加到编译器中,供我们使用了。
【6】随便打开一个VC的工程,或者自己新建一个工程。
然后,在打开的工程中,选择 【工具】|【定制】,在弹出的对话框中,选择最右边的【附加项和宏文件】
然后,点击【浏览】,找到你的那个 .dsm宏文件。好吧,看截图。。。。
【】【】【】注意喽。。。选择 CancelSelNote ,把它 拖动到 工具栏中。(【拖】这个概念,相信拖过控件的童鞋都能理解)
此时,弹出了下面的窗口。。。保持默认选择,点击确定。。。同理,完成另外一个宏命令的添加。
-----------------------------------------------------------------------------------------------------------------------
到了此处,已经完成了实例的全部操作。
自己可以在打开的VC程序中进行测试 【批量注释】和【取消批量注释】这两个功能了。
我相信,我的讲的过程还是很详细的。您可以参考图片进行操作。。不熟悉环境的童鞋,要多多 练习内功了。。。
高手看了这篇文章,莫笑哦。。。给个建议啥的,也不错啊。。我也是菜鸟一个。。。。
ps:
这个例子有个Bug....
当你用【取消注释】这个功能时,它会删除选中行的前两个字符。。。
正常情况下,删除的是每一行前面“//”这两个字符,但是,有时候,你选中多行时,如果其中有1行是不带注释的,那么,它也会删除这行的前两个字符。自己可以慢慢试一下,就清楚了。
所以,在使用【 取消注释 】功能时,要慎用。
如果有高手能改进这个 bug, 欢迎多多赐教。。。 我是来学习的。