我在C ++项目中使用了一个仅头文件库。
当我在代码中进行更改时,Visual Studio会开始解析我的解决方案中的文件,包括所包含的库。
由于库很大,解析它很慢而且我必须等待很长时间,直到IntelliSense再次相关。
有没有办法通过从IntelliSense中排除库来加速解析?
这个问题不是Visual Studio 2017 is too slow during building and debugging的重复,因为它专门处理加速IntelliSense的问题,而另一个问题没有涉及,也没有答案。
答案 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 ++项目而言,这更加激进。