当指定“整个解决方案”时,Visual Studio 2012“在文件中查找”搜索范围远远超出解决方案

时间:2013-09-21 23:41:20

标签: visual-studio-2012

在Visual Studio 2012中执行查找和替换操作时;使用“在文件中查找/替换文件”对话框窗口,将“查找范围”范围设置为“整个解决方案”,并在所有文件类型上使用正则表达式,Visual Studio正在忙于搜索整个硬盘驱动器!我的一些搜索需要很长时间,当我查看Visual Studio状态栏时,它显示当前搜索的目录/文件远远超出解决方案文件夹 - 有时它甚至搜索C:\ Windows \ System32目录或类似的无关地点。

还有其他人看过这种行为吗?更重要的是,有没有人有解决方案来修复它,所以我的搜索和替换操作坚持解决方案文件并且不浪费时间搜索计算机上的其他百万个文件?

3 个答案:

答案 0 :(得分:8)

我没有搜索整个驱动​​器,但我已经让它从我项目之外的文件返回匹配(这在VS 2010中)。在我的情况下删除.suo文件似乎解决了这个问题。

我怀疑被搜索的文件是我在调试会话期间进入的文件(或者更准确地说是从我的代码中删除了调用代码)。不知何故,这些文件会被记住并包含在搜索中。

这不能解释完整的驱动器搜索,但可以解释我的“解决方案外”结果

答案 1 :(得分:5)

我在安装了Update 4的Visual Studio 2013中遇到了类似的问题 - 在我的情况下,我从杂项文件' Project'中获取的文件获得了搜索结果,即使从杂项中删除它们也是如此文件。

从解决方案目录中删除.suo文件解决了问题;但是,这样做会导致VS忘记在解决方案中打开了哪些文件(可能还有其他一些东西)。

答案 2 :(得分:3)

仍在Visual Studio Enterprise 2017版本15.8.6中发生。

删除.suo文件(在.\.vs\YourSolutionName\v15\中找到)并重建解决方案解决了这个问题。

我怀疑它的已知目录/目标目录要在那里缓存,因为查找结果会很快显示出来。表示它没有搜索"整个硬盘",甚至我的整个映射工作区"本地文件夹"。通常,如果我在源代码管理中对更多父分支执行搜索,则需要将近一分钟。