我的一位同事使用了一个可憎的文本编辑器,它通常会在整个代码中留下注释块。不用说,这让我很生气。注释块如下所示:
/* EasyCODE ) */
/* EasyCODE ( 0
WndProc */
/* EasyCODE F */
即它们都以它们开头,EasyCODE
并且其中大多数跨越几行。谢天谢地,VS2010 可以折叠评论块,所以我不必一直看到它们。
有没有办法让它自动化?一种自动折叠所有这些可怕的EasyCODE
块的方法将是天赐之物!
我的一位同事使用了一个可憎的文本编辑器,它通常会在整个代码中留下注释块。不用说,这让我很生气。注释块如下所示:
/* EasyCODE ) */
/* EasyCODE ( 0
WndProc */
/* EasyCODE F */
即它们都以它们开头,EasyCODE
并且其中大多数跨越几行。谢天谢地,VS2010 可以折叠评论块,所以我不必一直看到它们。
有没有办法让它自动化?一种自动折叠所有这些可怕的EasyCODE
块的方法将是天赐之物!
这是一个应该做的宏。有一些更奇怪的 EasyCode 注释它没有捕捉到,但它主要是解决问题的。
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a ' remove for VS2008
Imports EnvDTE100 ' remove for VS2008
Imports System.Diagnostics
Imports System.Collections.Generic
Public Module HideEasyCODEComments
''
'' Collapse all EasyCODE comment blocks
''
Sub ToggleSummaryCommentsOutlineExpansion()
If (DTE.ActiveDocument Is Nothing) Then
Exit Sub
End If
If (DTE.UndoContext.IsOpen) Then
DTE.UndoContext.Close()
End If
DTE.SuppressUI = True
Try
DTE.UndoContext.Open("ToggleSummaryCommentsOutline")
Catch
End Try
Dim objSelection As TextSelection = DTE.ActiveDocument.Selection
Dim line As Integer = objSelection.CurrentLine
objSelection.StartOfDocument()
' find all EasyCODE blocks
While objSelection.FindText("^.*\/\* EasyCODE.*((\n.*\*\/)|(\n.*\/\*.*)|(\n\/\/.*))*", vsFindOptions.vsFindOptionsRegularExpression)
DTE.ExecuteCommand("Edit.HideSelection")
End While
objSelection.StartOfDocument()
objSelection.GotoLine(line)
DTE.UndoContext.Close()
DTE.SuppressUI = False
End Sub
End Module
在宏IDE(Tools->Macros->Macro IDE)中新建一个宏,将上面的代码粘贴进去,然后给它分配一个键盘快捷键(Tools->Options->Environment->Keyboard,在列表框)。点击键盘快捷键,所有 EasyCode 注释都将消失。
玩得开心!
你不能自动完成。但是,您可以选择一段代码,然后从上下文菜单中选择大纲/隐藏选择 (Ctrl+M Ctrl+H)。所以选择丑陋的评论并这样做。
取自这里。