1

我的一位同事使用了一个可憎的文本编辑器,它通常会在整个代码中留下注释块。不用说,这让我很生气。注释块如下所示:

/* EasyCODE ) */
/* EasyCODE ( 0 
WndProc */
/* EasyCODE F */

即它们都以它们开头,EasyCODE并且其中大多数跨越几行。谢天谢地,VS2010 可以折叠评论块,所以我不必一直看到它们。

有没有办法让它自动化?一种自动折叠所有这些可怕的EasyCODE块的方法将是天赐之物!

4

2 回答 2

2

这是一个应该做的宏。有一些更奇怪的 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 注释都将消失。

玩得开心!

于 2010-09-07T08:10:37.617 回答
0

你不能自动完成。但是,您可以选择一段代码,然后从上下文菜单中选择大纲/隐藏选择 (Ctrl+M Ctrl+H)。所以选择丑陋的评论并这样做。

取自这里

于 2010-09-07T07:44:17.800 回答