马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
不止一位问道可不可以在CVF中为多行代码加注释。
CVF本身无这样的功能,但是可以用macro功能自己添!而且是添加工具钮!
俺初步试验成功,虽然在容错性方面还可以改进,但已经基本够用,特奉献给大家。
做法:
(1) 在..\Microsoft Visual Studio\Common\MSDEV98\MACROS文件夹下生成文件GrpComment.dsm
(2) 用文本编辑器打开该文件,将以下所附的代码贴在其中,保存(注意保留.dsm后缀)
(3) 启动CVF,选Tools=>Customize=>Add-ins and Macro Files
(4) 在GrpComment前打勾,去掉其他的勾
(5) 在同一对话框中选Commands=>Macros,此时在右边可以看见CommentDel和CommentOut
(6) 选中CommentOut,拖到CVF的工具栏上去(添加工具钮),会弹出Button Appearance对话框
(7) 选Image and text,在下边Button text框中输入名称(默认是CommentOut),如“加注释”
(8) 类似的方法再将CommentDel命令以工具钮的形式添加到工具栏上,名称可取为“去注释”
这时,工具栏上应该多了两个工具钮:“加注释”和“去注释”。
用法:
加注释:选择要加注释的多行代码,点击“加注释”按钮即可;
去注释:选择已经注释的多行代码,点击“去注释”按钮即可。
适用:后缀为f90或f77的代码文件。
Enjoy!!!
VBscript代码:
- Function FileType (ByVal doc)
- ext = doc.Name
- FileType = 0
- pos = Instr(ext, ".")
- if pos > 0 then
- Do While pos <> 1
- ext = Mid(ext, pos, Len(ext) - pos + 1)
- pos = Instr(ext, ".")
- Loop
- ext = LCase(ext)
- end if
- If ext = ".f90" Then
- FileType = 8
- ElseIf ext = ".for" Then
- FileType = 9
- Else
- FileType = 0
- End If
- End Function
复制代码
- Sub CommentOut ()
- 'DESCRIPTION: 为所选的多行代码加注释
- Dim win
- set win = ActiveWindow
- if win.type <> "Text" Then
- MsgBox "This macro can only be run when a text editor window is active."
- else
- TypeOfFile = FileType(ActiveDocument)
- If TypeOfFile = 8 Or TypeOfFile = 9 Then
- If TypeOfFile = 8 Then
- CommentType = "! " ' Fortran 90 file
- Else
- CommentType = "C " ' Fortran 77 file
- End If
-
- StartLine = ActiveDocument.Selection.TopLine
- EndLine = ActiveDocument.Selection.BottomLine
- If EndLine < StartLine Then
- Temp = StartLine
- StartLine = EndLine
- EndLine = Temp
- End If
- If EndLine = StartLine Then
- ActiveDocument.Selection.SelectLine
- ActiveDocument.Selection = CommentType + ActiveDocument.Selection
- Else
- For i = StartLine To EndLine
- ActiveDocument.Selection.GoToLine i
- ActiveDocument.Selection.SelectLine
- ActiveDocument.Selection = CommentType + _
- ActiveDocument.Selection
- Next
- End If
- else
- MsgBox("Unable to comment out the highlighted text" + vbLf + _
- "because the file type was unrecognized." + vbLf + _
- "If the file has not yet been saved, " + vbLf + _
- "please save it and try again.")
- End If
- End If
- End Sub
复制代码
- Sub CommentDel ()
- 'DESCRIPTION: 去除所选的多行代码的注释
- Dim win
- set win = ActiveWindow
- if win.type <> "Text" Then
- MsgBox "This macro can only be run when a text editor window is active."
- else
- TypeOfFile = FileType(ActiveDocument)
- If TypeOfFile = 8 Or TypeOfFile = 9 Then
- StartLine = ActiveDocument.Selection.TopLine
- EndLine = ActiveDocument.Selection.BottomLine
- If EndLine < StartLine Then
- Temp = StartLine
- StartLine = EndLine
- EndLine = Temp
- End If
- If EndLine = StartLine Then
- ActiveDocument.Selection.SelectLine
- ActiveDocument.Selection = mid(ActiveDocument.Selection, 3)
- Else
- For i = StartLine To EndLine
- ActiveDocument.Selection.GoToLine i
- ActiveDocument.Selection.SelectLine
- ActiveDocument.Selection = mid(ActiveDocument.Selection, 3)
- Next
- End If
- else
- MsgBox("Unable to comment out the highlighted text" + vbLf + _
- "because the file type was unrecognized." + vbLf + _
- "If the file has not yet been saved, " + vbLf + _
- "please save it and try again.")
- End If
- End If
- End Sub
复制代码
来自编程爱好者mltx |