В поисках RegEx найти и заменить дополнения Visual Studio - PullRequest
3 голосов
/ 11 января 2010

Я ищу дополнение Visual Studio, которое выполняет поиск и замену стандартного регулярного выражения, а не Microsoft Visual Studio версию Regular Expression

Поскольку вы не получаете полный синтаксис

Пожалуйста, помогите?

Спасибо

Ответы [ 3 ]

5 голосов
/ 09 августа 2010

Этот работает с Visual Studio 2008 и использует синтаксис .Net Regex: Регулярные выражения .NET Найти и заменить надстройку для Visual Studio 2008 .

3 голосов
/ 11 января 2010

Пожалуйста, посмотрите здесь: Visual Studio IDE и регулярные выражения

Существует бесплатная надстройка , которая предлагает поиск в регулярных выражениях в Visual Studio.

2 голосов
/ 12 января 2010

Вы всегда можете написать макрос VB.Net для этого; в зависимости от того, насколько вы хотите, чтобы он был гибким.

Для поиска и замены в текущем документе вы можете использовать этот простой скрипт - ALT + F11, чтобы запустить редактор макросов, а затем уходите. Вставьте этот саб в новый модуль:

Sub RegexReplace()
    Dim regex As String = InputBox("Enter regex for text to find")
    Dim replace As String = InputBox("Enter replacement pattern")

    Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
    Dim editPoint As EnvDTE.EditPoint

    selection.StartOfDocument()
    selection.EndOfDocument(True)

    DTE.UndoContext.Open("Custom regex replace")
    Try
        Dim content As String = selection.Text
        Dim result = System.Text.RegularExpressions.Regex.Replace(content, regex, replace)
        selection.Delete()
        selection.Collapse()
        Dim ed As EditPoint = selection.TopPoint.CreateEditPoint()
        ed.Insert(result)
    Catch ex As Exception

    Finally
        DTE.UndoContext.Close()
        DTE.StatusBar.Text = "Regex Find/Replace complete"
    End Try

End Sub

Сохраните модуль, вернитесь в VS и откройте «Macro Explorer»; перейдите к макросу и дважды щелкните по нему для запуска (извините, если вы все это знаете - просто старайтесь быть тщательным!). Позже вы также можете назначить сочетание клавиш для этого макроса.

Очевидно, что если вы хотите использовать все функциональные возможности, которые предоставляет существующий диалог поиска / замены, вам придется проделать больше работы; и может быть отложено этим.

Самым очевидным улучшением этого кода (кроме правильной обработки ошибок!) Было бы создание формы на лету со всеми необходимыми полями ввода вместо отображения последовательных полей ввода!

Просто идея;)

...