原文地址:http://blog.sina.com.cn/s/blog_4d3905b40100b3vq.html
做法:
- 在..Microsoft VisualStudioCommonMSDEV98MACROS文件夹下生成文件GrpComment.dsm
- 用文本编辑器打开该文件,将以下所附的代码贴在其中,保存(注意保留.dsm后缀)
- 启动CVF,选Tools=>Customize=>Add-insand Macro Files
- 在GrpComment前打勾,去掉其他的勾
- 在同一对话框中选Commands=>Macros,此时在右边可以看见CommentDel和CommentOut
- 选中CommentOut,拖到CVF的工具栏上去(添加工具钮),会弹出Button Appearance对话框
- 选Image and text,在下边Buttontext框中输入名称(默认是CommentOut),如“加注释”
- 类似的方法再将CommentDel命令以工具钮的形式添加到工具栏上,名称可取为“去注释”
这时,工具栏上应该多了两个工具钮:“加注释”和“去注释”。
用法:
- 加注释:选择要加注释的多行代码,点击“加注释”按钮即可;
- 去注释:选择已经注释的多行代码,点击“去注释”按钮即可。
适用:
后缀为f90或f77的代码文件,根据编译器默认的文件后缀不同,自行修改(f90为.f90,f77为.f)。
VBscript代码:
“`VB
Function FileType (ByVal doc)
ext= doc.Name
FileType= 0
pos= Instr(ext, ".")
ifpos > 0 then
DoWhile pos <> 1
ext= Mid(ext, pos, Len(ext) - pos + 1)
pos= Instr(ext, ".")
Loop
ext= LCase(ext)
endif
Ifext = ".f90" Then
FileType= 8
ElseIfext = ".f" Then
FileType= 9
Else
FileType= 0
EndIf
End Function
Sub CommentOut ()
'DESCRIPTION: 为所选的多行代码加注释
Dimwin
setwin = ActiveWindow
ifwin.type <> "Text" Then
MsgBox"This macro can only be run when a text editor window isactive."
else
TypeOfFile=FileType(ActiveDocument)
IfTypeOfFile = 8 Or TypeOfFile = 9 Then
IfTypeOfFile = 8 Then
CommentType= "! " ' Fortran 90 file
Else
CommentType= "C " ' Fortran 77 file
EndIf
StartLine= ActiveDocument.Selection.TopLine
EndLine= ActiveDocument.Selection.BottomLine
IfEndLine < StartLine Then
Temp= StartLine
StartLine= EndLine
EndLine= Temp
EndIf
IfEndLine = StartLine Then
ActiveDocument.Selection.SelectLine
ActiveDocument.Selection= CommentType + ActiveDocument.Selection
Else
Fori = StartLine To EndLine
ActiveDocument.Selection.GoToLinei
ActiveDocument.Selection.SelectLine
ActiveDocument.Selection= CommentType + _
ActiveDocument.Selection
Next
EndIf
else
MsgBox("Unableto comment out the highlighted text" + vbLf + _
"becausethe file type was unrecognized." + vbLf + _
"Ifthe file has not yet been saved, " + vbLf + _
"pleasesave it and try again.")
EndIf
EndIf
End Sub
Sub CommentDel ()
'DESCRIPTION: 去除所选的多行代码的注释
Dimwin
setwin = ActiveWindow
ifwin.type <> "Text" Then
MsgBox"This macro can only be run when a text editor window isactive."
else
TypeOfFile=FileType(ActiveDocument)
IfTypeOfFile = 8 Or TypeOfFile = 9 Then
StartLine= ActiveDocument.Selection.TopLine
EndLine= ActiveDocument.Selection.BottomLine
IfEndLine < StartLine Then
Temp= StartLine
StartLine= EndLine
EndLine= Temp
EndIf
IfEndLine = StartLine Then
ActiveDocument.Selection.SelectLine
ActiveDocument.Selection= mid(ActiveDocument.Selection, 3)
Else
Fori = StartLine To EndLine
ActiveDocument.Selection.GoToLinei
ActiveDocument.Selection.SelectLine
ActiveDocument.Selection= mid(ActiveDocument.Selection, 3)
Next
EndIf
else
MsgBox("Unableto comment out the highlighted text" + vbLf + _
"becausethe file type was unrecognized." + vbLf + _
"Ifthe file has not yet been saved, " + vbLf + _
"pleasesave it and try again.")
EndIf
EndIf
End Sub