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 で新しいマクロを作成し ([ツール] -> [マクロ] -> [マクロ IDE])、上記のコードを貼り付け、それにキーボード ショートカットを割り当てます ([ツール] -> [オプション] -> [環境] -> [キーボード]、リストボックス)。キーボード ショートカットを押すと、すべての EasyCode コメントが消えます。

楽しむ!

于 2010-09-07T08:10:37.617 に答える
0

自動的に行うことはできません。ただし、コードの一部を選択して、コンテキストメニューのアウトライン/選択の非表示(Ctrl + M Ctrl + H)から選択することはできます。したがって、醜いコメントを選択して、このようにしてください。

ここから撮影。

于 2010-09-07T07:44:17.800 に答える