不知何故,Visual Studio搜索停止为我工作。每当我搜索“整个解决方案”的一些文本,我得到这样的结果:
找到所有“[无论我正在搜索]”,子文件夹,查找结果 1、“整个解决方案”没有找到匹配的文本。发现是 中途停止。
为什么突然说"没有文件可查"
我在谷歌上找到了一些链接,说按Ctrl + Break或Ctrl + Scroll Lock,但它们似乎都不适合我。
不知何故,Visual Studio搜索停止为我工作。每当我搜索“整个解决方案”的一些文本,我得到这样的结果:
找到所有“[无论我正在搜索]”,子文件夹,查找结果 1、“整个解决方案”没有找到匹配的文本。发现是 中途停止。
为什么突然说"没有文件可查"
我在谷歌上找到了一些链接,说按Ctrl + Break或Ctrl + Scroll Lock,但它们似乎都不适合我。
当前回答
如果您正在搜索多种文件类型,它们必须用;字符,而不是空格。
这将返回正确的结果:
* .cs; * .vb; .js; * .aspx。
这不会返回任何东西:
*.cs *.vb *.js *.aspx
这并不是最初发帖者的问题,但对于那些不知道为什么搜索失败的人来说,这可能就是原因所在。
其他回答
这个bug在Visual Studio中已经存在很长时间了,而且似乎从来没有得到修复。
查看2004年的MS Connect项目:http://connect.microsoft.com/VisualStudio/feedback/details/105511/find-in-files-says-no-files-were-found-to-look-in-find-was-stopped
我不敢相信他们仍然没有在VS2010中修复它-但它仍然在那里:(
连接项已标记为关闭-不会修复:https://connect.microsoft.com/VisualStudio/feedback/details/718217/find-was-stopped-in-progress-while-performing-search-in-visual-studio
虫源
这不是Visual Studio或Windows相关的错误。事实上,漏洞就在你的键盘上!据报道,来自不同厂商的许多键盘都有问题。
问题
如果你按下Ctrl+Break,然后先释放Ctrl,那么Break就会卡在一个有bug的键盘上。如果你曾经以“错误”的方式按下Ctrl+Break,你就会遇到搜索被中断的问题。
细节
根据扫码规范,Break和Ctrl+Break是特殊的。当你按下break键时,他们会发送“make”(按下)和“break”(释放)扫描码。当你释放Break时,他们什么也不发送。有bug的键盘将发送以下序列:
按“make”扫描代码 Ctrl+Break“make”扫描代码 按Ctrl“break”扫描代码 暂停“中断”扫描代码
也就是说,Ctrl+Break从来不释放,而是释放Pause。
繁殖
例如,你可以从Visual Studio工具中使用老式的spy++。将它附加到任何东西上,例如Windows记事本和监视消息(我建议您只选择键盘消息)。按Ctrl+Break,首先释放Ctrl。检查spy++的输出。您将看到我在Details部分中显示的序列。
我在同一台电脑上尝试了两种不同的键盘。罗技K120有这个bug,而其他一些三美键盘根据规格表现,没有这个bug。
如果你仔细想想,就很容易理解正确的行为需要特殊的情况处理,而有bug的行为是幼稚的。这就是为什么许多不同的键盘都有bug。
解决方案
更换键盘:)
解决方案
你只需要按Ctrl+Break,注意先释放Break。哪个应用程序处于活动状态并不重要。
我使用的是Visual Studio 2022(专业和社区都尝试过,V 17.2.5),我的搜索功能在“查找所有文件”中不起作用,所以我浏览到我的解决方案文件夹,在.vs\{ProjectName}文件夹下,有另一个名为FileContentIndex的文件夹。关闭visual studio并删除此文件夹后,重新启动vs,似乎解决了我的问题,并且我的“在所有文件中查找”开始正常运行。
另一个迟到的答案,但我找到了这个问题的另一个“解决方案”。
When it looks as if the Visual Studio app has frozen on search...leave it alone. Don't close it. Don't restart it. Just let it go for about 10-15 minutes and the problem may correct itself, as it did in my specific case. I'm not sure as to why leaving it alone solved the problem, although my wholly uneducated guess is that Visual Studio is building some sort of an index to be able to search files and running into a snag. Once the 10-15 minutes are up and VS completes its search, it seems fine after that.
可能并不适用于大多数情况,但对我来说,解决它的方法是关闭搜索窗口中的“使用正则表达式”。我以前一直在使用正则表达式进行一些棘手的替换,并且在完成时没有关闭。我认为它可能是将简单替换文本的一部分(见下文-有一些特殊字符)解释为一个不完整或畸形的正则表达式的开始,因此实际上不能进行任何匹配。如果它能告诉你就好了!