Как автоматически обрушиться определенные комментарии в Visual Studio 2010?

StackOverflow https://stackoverflow.com/questions/3656275

Вопрос

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

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

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

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

Это было полезно?

Решение

Вот макрос, который должен сделать это. Есть несколько комментариев EasyCode Weirder, что он не поймает, но в основном в основном это трюк.

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

Создайте новый макрос в Macro IDE (Tools-> Macros-> Macro IDE), вставьте в него код выше, а затем назначьте ярлык клавиатуры (Tools-> Options-> Окружающая среда-> клавиатура, поиск его в listbox). Нажмите ярлык клавиатуры, и все комментарии EasyCode будут пропущены.

Повеселись!

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top