Visual Studio 2017:加速C ++ IntelliSense

时间:2018-03-20 10:52:50

标签: c++ visual-studio visual-studio-2017 intellisense

我在C ++项目中使用了一个仅头文件库。

当我在代码中进行更改时,Visual Studio会开始解析我的解决方案中的文件,包括所包含的库。

由于库很大,解析它很慢而且我必须等待很长时间,直到IntelliSense再次相关

有没有办法通过从IntelliSense中排除库来加速解析?

这个问题不是Visual Studio 2017 is too slow during building and debugging的重复,因为它专门处理加速IntelliSense的问题,而另一个问题没有涉及,也没有答案。

3 个答案:

答案 0 :(得分:1)

这个看似无关的问题为我解决了缓慢的IntelliSense问题:https://stackoverflow.com/a/55401328/6800366

  • 转到选项>环境>常规
  • 取消选中“根据客户的表现自动调整视觉体验”
  • 取消选中“使用硬件图形加速(如果可用)”

也许取消选中“启用丰富的客户端视觉体验”也会对您有所帮助。对我来说没关系。

答案 1 :(得分:0)

您可以在VS设置中增加重新扫描解决方案间隔。转到选项 - > C / C ++ - > 高级并将重新扫描解决方案间隔设置为所需的分钟数。我更喜欢5000.该值必须介于0到5000之间。

  

您所做的更改会实时解析(即:当您制作时),   但是触发完整解析的每个设定时间量   确保整个数据库是最新的。这个额外的解析不会   实际上清理你的数据库并从头开始重新创建它   而是扫描对非活动文件所做的更改(请参阅   示例打开项目引用的头文件之一   Visual Studio的另一个实例)。默认情况下,这是每60   分钟,通过改变这个你可以控制那段时间。

答案 2 :(得分:0)

1)在我的情况下,视觉设置,2)重新扫描间隔和3)删除项目缓存使效果有限(如果有1,2)。


然后,我开始使用自动预编译的头缓存配额工具>选项>文本编辑器> C / C ++>高级)。第一步,我将其从默认的50Gb增加到75GB-猜猜是什么:它变得越来越慢。一旦缓存目录( [解决方案目录] .vs )达到极限,IntelliSense便变得完全无用。

如果您认为:确实,50gb-75gb的预编译代码如何导致更快的IntelliSense?这样的数据量必须被索引,查询...维护。 将限制设置为10Gb令我很开心。 IntelliSense变得应有尽有。


我必须指出,该问题不仅限于VS2017,而且还出现在VS2019中。这个问题实际上让我尝试了VS2019。尽管VS2019在C ++中确实比VS2017更好,但它在项目缓存方面也存在相同的问题。另外,重要的一点是,这不仅是VS C ++的问题,而且在我的C#年代中,我对项目缓存[.vs]遇到了相同/相似的问题。由于语言的特殊性,对于C ++项目而言,这更加激进。