Как автоматически свернуть определенные комментарии в Visual Studio 2010? - PullRequest
1 голос
/ 07 сентября 2010

Мой коллега использует текстовый редактор мерзость , который обычно оставляет блоки комментариев по всему коду. Излишне говорить, что это сводит меня с ума. Блоки комментариев выглядят так:

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

т.е. все они начинаются с EasyCODE, и большинство из них занимает несколько строк. К счастью, VS2010 может свернуть блоки комментариев, поэтому мне не нужно видеть их постоянно.

Есть ли способ автоматизировать это? Способ автоматического разрушения всех этих ужасных EasyCODE блоков был бы безумным!

Ответы [ 2 ]

2 голосов
/ 07 сентября 2010

Вот макрос, который должен это сделать.Есть несколько более странных комментариев 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), вставьте вышевведите в него код, затем назначьте ему сочетание клавиш (Сервис-> Параметры-> Среда-> Клавиатура, найдите его в списке).Нажмите сочетание клавиш, и все комментарии EasyCode исчезнут.

Веселитесь!

0 голосов
/ 07 сентября 2010

Вы не можете сделать это автоматически.Тем не менее, вы можете выбрать фрагмент кода и выбрать из контекстного меню Outlining / Hide Selection (Ctrl + M Ctrl + H).Так что выбирайте уродливые комментарии и делайте это следующим образом.

Взято из здесь .

...