c++ - VS2015 中的智能感知永无止境

标签 c++ visual-studio-2015 intellisense

我们在 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/

相关文章:

javascript - Visual Studio 2010 JavaScript Intellisense 在 "function"中大写 F

c++ - 函数指针总是初始化为 NULL 吗?

c++ - MuPDF SVG 导出错误?

c++ - 如何设置一个字符串数组,其中包含将通过数组显示在 iphone 文本上的字符串?

c++ - 将多个参数从另一个类传递给线程函数

javascript - 构建空白 Cordova 应用程序会出现多个错误

c++ - 从主 C++ 返回 0 后,程序在第二次运行时崩溃

visual-studio-2015 - 可以使用 Nuget 获取开源库的源代码吗?

javascript - 如何在 index.d.ts typescript 定义文件中引用 Redux 类型?

java - 代码完成停止为 "Java Extension Pack"工作