16

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

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

4

3 回答 3

11

我没有让它搜索整个驱动​​器,但我让它从我的项目之外的文件中返回匹配项(这在 VS 2010 中)。就我而言,删除 .suo 文件似乎可以解决此问题。

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

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

于 2014-03-07T10:01:55.207 回答
6

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

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

于 2014-12-27T08:56:52.760 回答
4

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

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

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

于 2018-03-23T18:41:43.383 回答