不知何故,Visual Studio搜索停止为我工作。每当我搜索“整个解决方案”的一些文本,我得到这样的结果:

找到所有“[无论我正在搜索]”,子文件夹,查找结果 1、“整个解决方案”没有找到匹配的文本。发现是 中途停止。

为什么突然说"没有文件可查"

我在谷歌上找到了一些链接,说按Ctrl + Break或Ctrl + Scroll Lock,但它们似乎都不适合我。


当前回答

在我的例子中,我在搜索窗口的“查看这些文件类型:”字段中有一个伪字符。

删除字符解决了这个问题。

Visual Studio 2017

其他回答

我使用的是Visual Studio 2022(专业和社区都尝试过,V 17.2.5),我的搜索功能在“查找所有文件”中不起作用,所以我浏览到我的解决方案文件夹,在.vs\{ProjectName}文件夹下,有另一个名为FileContentIndex的文件夹。关闭visual studio并删除此文件夹后,重新启动vs,似乎解决了我的问题,并且我的“在所有文件中查找”开始正常运行。

在Visual Studio 2013更新3之后,我遇到了同样的问题。之前,我可以只写"。cs"或"。查看这些文件类型:它将工作。但在更新3之后,我现在必须放“。cs”或“。”cshtml”(或任何我想搜索的文件类型),它工作得很好。

Ctrl+Break或Ctrl+ScrLk取消查找操作。试一试。所发生的事情是,一些软件层(假设是Windows)认为这些键仍在被按下,即使它们没有。按下并释放它们将清除标志。

它可以是以下任何一种组合:

Ctrl +打破

Alt +断

打破

Ctrl + ScrLk

记住,你的键盘上有多个控制键和alt键——每个都试试。如果它是右Ctrl键+ ScrLk,按左Ctrl不会解决这个问题。

这是微软关闭的连接问题“不会修复”。

如果这是一个反复出现的问题,有一个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 2012 Professional,从Linux机器上使用rdesktop连接。

其他的建议都没用,但问题是:

进入“查找和替换”界面。(在我的情况下按ctrl-shift-f) 输入搜索文本并选择“完整解决方案” 点击“Find Next”,它应该会找到一个结果。 点击“找到所有”,现在工作不中止。(注意,我打我的鼠标真的很重,也涉及到一些脏话,但我不认为这有任何关系,除了心理上的:D)