.NET 正则表达式查找和替换 Visual Studio 2008 插件
一个用于 Visual Studio 2008 的 .NET 正则表达式查找和替换插件

引言
此插件适用于任何想要在 Visual Studio 中使用正则表达式进行查找和替换,但不希望使用内置对话框中奇怪的正则表达式语法的人。此插件提供了一个新的对话框,该对话框使用 .NET 的正则表达式进行查找和替换。
背景
我几年前开发了这个插件,所以我不记得所有促使我这样做的原因了。我厌倦了 Visual Studio IDE 中提供的受限制的正则表达式版本。我找到了这篇文章,它介绍了一个听起来不错的 Visual Studio 插件,但它不适用于 Visual Studio 2005。我的插件部分基于该插件,并进行了一些错误修复和添加了其他功能。
该项目现在已更新,可在 Visual Studio 2008 中使用。
使用插件
如果您只想使用该插件,请下载插件文件并将其复制到 "C:\<user folder>\Visual Studio 2008\AddIns" 目录。如果您想修改源代码(或修复任何明显的错误),请下载源代码并运行该项目。
要调试该项目,请将 "RegexFindAndReplace - For Testing.AddIn" 移动到 "C:\<user folder>\Visual Studio 2008\Addins"。
您还需要在 RegexFindAndReplace.csproj 中更新如下部分
<Content Include="C:\<user folder>
\Visual Studio 2008\Addins\RegexFindAndReplace - For Testing.AddIn">
<Link>RegexFindAndReplace - For Testing.AddIn</Link>
</Content>
在 "RegexFindAndReplace - For Testing.AddIn" 中,您需要更新此部分以指向项目的位置
<Assembly><project directory>\RegexFindAndReplace\bin\RegexFindAndReplace.dll</Assembly>
还需要更新以下调试项目设置
- 启动外部程序: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
- 命令行参数: /resetaddin RegexFindAndReplace.Connect
- 工作目录: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
安装完成后,您将在编辑|查找和替换菜单中找到一个新条目

还有一个键盘快捷键 Ctrl+Shift+X,适用于那些尽可能避免使用鼠标的人。
关注点
此插件提供了与内置查找和替换对话框的大部分功能,并提供了一些其他选项。在“在文件中查找”模式下,结果将打印到“输出”窗口

在“查找”或“替换”文本框的右侧,有一个下拉菜单,其中包含正则表达式或替换字符串中使用的几个常见构造。“捕获的子表达式”菜单列出了所有可用的反向引用,并且在选择一个时,相应的表达式会在文本框中以蓝色突出显示

我很高兴能参与这个项目的开发;如果您有任何功能请求或错误,请与我联系,我会尽力确保它尽可能有用。
限制
搜索匹配的每个文件都会读入内存;这意味着无法使用此对话框搜索太大而无法装入内存的文件。原因是正则表达式可以跨越多行。将来,我可能会在正则表达式中添加换行符的检查,以查看是否可以一次处理一行文件。
历史
- 2008 年 6 月 13 日
- 原始文章发布
- 2008 年 7 月 28 日
- 改进了在“全部查找”和“全部替换”模式下处理文件的算法
- 添加了“停止”按钮以启用取消“全部查找”或“全部替换”操作
- 2009 年 3 月 5 日
- 更新了 Visual Studio 2008 的文章和项目
- 修复了某些类型的 Visual Studio 项目中出现的“未将对象引用设置到对象的实例”错误消息
- 修复了对话框窗口的显示方式
- 2009 年 10 月 8 日
- 为具有代码隐藏文件的 Web 项目添加了更好的支持
- 修复了“全部替换”中的文件编码问题
- 2009 年 10 月 12 日
- 添加了 这篇文章中描述的
CollapsibleGroupBox
类的使用