【发布时间】:2010-02-04 21:19:32
【问题描述】:
今天我真的很想知道为什么我坚持了这么多年而没有主动抱怨它。进行“在解决方案的所有文件和文件夹中搜索和替换” 是我经常需要做的事情,尤其是。当重构工具让我失望时。不幸的是,“所有文件夹和文件” 表示“一些项目和一些其他文件”。值得注意的是,解决方案文件夹、完整网站和 csproj/vbproj/sln 文件中的未连接文件将被跳过。
此外,仅搜索通常会发现比替换替换更多的命中(例如,一个 csproj 仅在其项目被卸载时被替换)。
好吧,抱怨够了:任何人都知道一个好的插件或一个很好的有价值的技巧,可以在解决方案的所有文件和文件夹中进行真正的搜索和替换?我可以依靠什么?
(编辑)
PS:经过深思熟虑:只有在文件夹列表可以包含排除过滤器(即排除所有 .svn 文件和目录)时,让您的系统处于 Subversion 或其他源代码控制系统下才会进行完整搜索。不幸的是,据我所知,提供的解决方案无法做到这一点。
【问题讨论】:
-
我一直在使用 Visual Studio,从来没有遇到过这些问题,至少自 2002 年以来没有。你做错了什么并指责该工具。
-
可能。试试这个:打开一个包含 VB 和 C# 代码文件夹的网站(请注意:不是 Web 项目!)以及一些正常的其他项目的解决方案。选择正常项目之一。点击 Ctrl-Shift-H,选择整个解决方案并替换,例如,您的公司名称。您会看到网站的未打开文件不会被替换。当焦点在网站上时,有些东西是,有些东西是不会被取代的。通常不搜索非代码文件(txt、日志)。也许我做错了什么,但我在 2005 年和 2008 年遇到过这种情况。我认为 S&R 是一种“智能”搜索(如 Windows S&R)太聪明了。
-
自动重构方法重命名也会出现同样的问题,除了 C++ 之外,这也是非常有问题的,并且一直存在。问题在于对无类型变量或方法名称是字符串的方法的延迟调用(即,ASPX/ASCX 中的引用事件、反射等)。我可以理解这是错误的,类型系统无法知道。但是随后进行替换所有 S&R 应该可以解决问题,但事实并非如此。最值得注意的是网站(同样:不是网络项目)。
标签: visual-studio ide plugins add-in