2017-03-01 32 views
1

我们在拥有6000多个文件的VisualStudio2015(C++)中有项目。我们遇到了智能感知问题。它解析文件并永不结束。为此,我无法关闭Visaul Studio。VS2015中的intellisense永无止境

我发现那个过程Microsoft (R) Visual C++ Package Servervcpkgsrv.exe可能是无限循环。当我杀死它时,我能够关闭VS.

我打开了intellisense的诊断日志,我可以在输出窗口中看到这些行。

[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

+0

您确定它*从不*结束,或者只是需要很长时间,因为您在一个项目中拥有6000多个文件? (它真的是一个单一的*项目*,或者你的意思是一个*工作区*有多个项目?) –

+2

尝试关闭Visual Studio,然后删除'VC.db'文件和'ipch'文件夹,然后再次打开您的项目。 VS会重建智能感知信息。 –

+0

@Someprogrammerdude一个包含三个项目的解决方案。一个主要的其他只是小的支持。我不知道如何计算所有文件,因为并非所有包含都在项目中。我只是在解决方案文件夹中计算* .h,* .c,* .cpp。 – elanius

回答

0

后,我曾与某些代码此相同的问题时此问题:

编辑。必须不时地手动杀死vcpkgsrv.exe - 例如,当从Debug版本更改为Release时,或者反之亦然。否则,Visual Studio将永远保持冻结状态。

解决方案:

#ifndef __INTELLISENSE__ 

... the code causing the trouble ... 

#endif // __INTELLISENSE__ 

在我而言,这是足以恰好一个.cpp文件中添加这一点。当然,你的里程可能会有所不同。

请注意,在开始和结尾都有两个连续的下划线。

+0

我们已将其移至VS2017,并且它在此工作。但是要么我们不知道代码的哪一部分负责它。 – elanius