【问题标题】:Looking for a RegEx Find and Replace Visual Studio addons寻找 RegEx 查找和替换 Visual Studio 插件
【发布时间】:2010-01-11 11:09:00
【问题描述】:

我正在寻找一个执行标准正则表达式查找和替换的 Visual Studio 插件,而不是 Microsoft Visual Studio version of Regular Expression

因为你没有得到complete syntax

请帮忙?

谢谢

【问题讨论】:

    标签: c# regex visual-studio-2008 add-in replace


    【解决方案1】:

    这个适用于 Visual Studio 2008 并使用 .Net Regex 语法:.NET Regular Expressions Find and Replace Add-In for Visual Studio 2008

    【讨论】:

    • 甜蜜!只是使用了积极的后视: (?
    【解决方案2】:

    请看这里:The Visual Studio IDE and Regular Expressions

    有一个免费的add-in available 在 Visual Studio 中提供真正的正则表达式搜索。

    【讨论】:

    • 谢谢鲁本斯,我知道你提供的链接,我提供的语法链接显示的语法不可用,这就是我寻找加载项的原因。不幸的是,您提供的插件适用于 Visual Studio 2003。
    【解决方案3】:

    您总是可以编写一个 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';导航到宏并双击它运行(抱歉,如果你知道这一切 - 只是想彻底!)。您也可以稍后为该宏分配键盘快捷键。

    显然,如果您想要现有的查找/替换对话框提供的所有功能,那么您必须做更多的工作;并且可能会因此而推迟。

    对这段代码最明显的改进(除了正确的错误处理!)是动态构建一个包含所有你需要的输入框的表单,而不是显示连续的输入框!

    只是一个想法;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      相关资源
      最近更新 更多