刷新Visual Studio中的自动完成(IntelliSense)数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷新Visual Studio中的自动完成(IntelliSense)数据库相关的知识,希望对你有一定的参考价值。
我注意到,一旦我的项目达到一定的大小(在我的情况下~4,100行代码),Visual Studio中的自动完成功能不再正常工作。我还注意到,一旦第三方库的数量增加(名称空间和类属性和方法不再可见),性能也会降低。
有没有办法手动更新自动完成数据库或为现有项目创建新数据库?
我目前在Visual Studio 2008工作,但我也在Visual Studio 2010遇到过这个问题。
对于VS2015,2017和VS2019关闭Visual Studio并删除与解决方案相同的文件夹中的.vs文件夹。它包含intellisense数据库(如果我们知道哪些文件,应该可以只删除特定于intellisense的文件)。请注意,如果删除整个文件夹,您将丢失窗口布局配置等。
对于以前的版本,请关闭Visual Studio并导航到项目文件夹。 * .sdf文件包含intellisense数据库 - 如果删除此文件并在visual studio中重新打开项目,它将重建缓存。
删除sdf文件为我解决了问题。
有时使用大型解决方案(主要是C ++项目)会变得无法忍受。要解决此问题,您需要关闭解决方案并删除.SDF文件。之后它会再次恢复正常,大约一周左右,直到你需要再次进行。
根本原因是SDF文件碎片化,根据我所做的xperf分析,在调试和发布之间进行更改时,VS有时会从中执行20,000多次随机读取。将SDF文件放在SSD上可以解决问题,但不一定非必要。 VS需要更有效地使用SDF文件,而不是阻止SDF操作。
在VS2017中,当我使用互操作来从C#调用CPP时,当CPP端的某些内容发生变化时,我经常遇到这种情况。构造函数参数。
卸载并重新加载解决方案中的CPP项目有助于解决红线问题。
对于Visual Studio 2017(我也认为Visual Studio 2019),关闭Visual Studio,进入项目文件夹中的.vs文件夹并删除除.suo文件之外的所有内容,然后重新打开Visual Studio。
这样,您可以重建Intellisense缓存而不会丢失首选项。
我正在使用Visual Studio 2019,并且还遇到了Intellisense以及其他功能的问题。在Intellisense停止使用代码格式化之前,我将能够对文件进行大约2或3次更新。
我能够让事情再次发挥作用的唯一方法是重新启动Visual Studio,我尝试删除intellisense文件夹和整个.vs
文件夹,但这并没有解决问题,它有所帮助,但其他事情正在发生。
我终于能够通过关闭下面的Track changes
选项来解决这个问题
Tools->Options->Text Editor->General
。
以上是关于刷新Visual Studio中的自动完成(IntelliSense)数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 的监视窗口中自动刷新 [重复]
如何通过按“空格”取消Visual Studio 2015中的自动完成?
在 javascript 中禁用 Visual Studio 自动完成注释
自动完成在 Visual Studio Code 中的 ASP.NET Core 5 Razor Tag Helper 中不起作用