我们在 VisualStudio2015 (C++) 中有一个包含 6000 多个文件的项目。我们遇到了智能感知问题。它正在解析文件并且永无止境。因此,我无法关闭 Visaul Studio。
我发现 Microsoft (R) Visual C++ Package Server
vcpkgsrv.exe
进程可能处于无限循环中。当我杀死它时,我也可以关闭 VS。
我打开了智能感知的诊断日志记录,我可以在输出窗口中看到这些行。
[WorkItem] >> [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
[WorkItem] >> [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
[WorkItem] >> [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
[WorkItem] >> [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
它永远不会结束。
在另一个项目中我可以看到(效果很好)
[WorkItem] >> [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
[WorkItem] . [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache
[WorkItem] + [NowQ] WorkerThreadAsync:Optimize QuickSearch Cache (0ms)
我猜这个操作是添加、执行和完成的。 在我损坏的项目中,它仅被添加而从未执行。
有人知道可能是什么问题吗?
编辑:这个问题出现在Update2之后
最佳答案
我在某些代码中遇到了同样的问题。不得不时不时地手动终止 vcpkgsrv.exe
——例如,当从 Debug 构建更改为 Release 时,反之亦然。否则 Visual Studio 将永远卡住。
解决方法:
#ifndef __INTELLISENSE__
... the code causing the trouble ...
#endif // __INTELLISENSE__
在我的例子中,将其添加到一个 .cpp
文件中就足够了。当然,您的里程可能会有所不同。
请注意,开头和结尾都有两个连续的下划线。
关于c++ - VS2015 中的智能感知永无止境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527869/