原帖:http://www.cnblogs.com/music-liang/archive/2012/04/30/2477278.html
1、在 Visual C++ 6.0开发环境中选择 【File】|【New】 命令,打开 New 窗口,选择 【File】 选项卡。
2、在列表中选择【Macro File】选项,在【File】文本框中输入文件名,单击OK按钮创建宏文件。如图所示:
3、单击OK按钮创建宏文件,弹出 Macro File 窗口。在 Description 备注中输入宏文件的描述信息,单击OK 按钮创建宏文件。
如图:
4、向宏文件中添加两个子过程,语言为 VB Script,代码如下。(直接拷贝代码就可以了,不需要其他设置)
Sub SetSelNote() 'Sun DESCRIPTION: 过程 SetSelNote 用于使选中的文本成为注释'
dim CurWin '当前获得的窗口
set CurWin=ActiveWindow
if CurWin.type<>"Text" Then '判断当前窗口是不是文本窗口
MsgBox"当前窗口不是代码窗口"
else
NoteType="//"
BeginLine=ActiveDocument.Selection.TopLine
EndLine=ActiveDocument.Selection.BottomLine
if EndLine<BeginLine then
Line=BeginLine
BeginLine=EndLine
EndLine=Line
else
for row=BeginLine to EndLine
ActiveDocument.Selection.GoToLine row
ActiveDocument.Selection.SelectLine '选中当前行
ActiveDocument.Selection=NoteType+ActiveDocument.Selection
next
end if
end if
end Sub
Sub CancelSelNote()
dim CurWin '当前获得的窗口
set CurWin=ActiveWindow
if CurWin.type<>"Text" then '判断当前窗口是否是文本窗口
MsgBox"当前窗口不是代码窗口"
else
BeginLine=ActiveDocument.Selection.TopLine
EndLine=ActiveDocument.Selection.BottomLine
if EndLine<BeginLine then
Line=BeginLine
BeginLine=EndLine
EndLine=Line
else
for row=BeginLine to EndLine
ActiveDocument.Selection.GoToLine row
ActiveDocument.Selection.SelectLine '选中当前行
SelBlock=ActiveDocument.Selection
Trim(SelBlock)
pos=instr(SelBlock,"//")
if pos<>0 then
RightBlock=Right(SelBlock,Len(SelBlock)-2)
ActiveDocument.Selection=RightBlock
end if
next
end if
end if
end Sub
6、随便打开一个VC的工程,或者自己新建一个工程。
7、在打开的工程中,选择 【工具】|【定制】,在弹出的对话框中,选择最右边的【附加项和宏文件】。然后,点击【浏览】,找到你的那个 .dsm宏文件。如图:
8、切换到【命令】选项卡,在【类别】中选中【Macros】
9、关键和有成就感的一步,如图,选中CancelSelNote,用鼠标拖到VC++6.0工具栏上,步骤反应在下列图中。并对SetSelNote进行同样的操作即可。
拖好后会有这个设置对话框,这个应该很容易理解的,你可以随自己意设置,然后点确定。
点确定后就会再VC++6.0工具栏上出现这个按钮。下图右下角那个。
注意bug:
当你用【取消注释】这个功能按钮时,它会删除选中行的前两个字符。
正常情况下,删除的是每一行前面“//”这两个字符。但是,有时候,你选中多行时,如果其中有1行是不带注释的,那么,它也会删除这行的前两个字符。自己可以慢慢试一
下,就清楚了。
所以,在使用【 取消注释 】功能按钮时,要慎用。