刷新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操作。

资料来源:https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2255455-fix-the-delete-sdf-file-problem

另一答案

在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

enter image description here

以上是关于刷新Visual Studio中的自动完成(IntelliSense)数据库的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 的监视窗口中自动刷新 [重复]

如何通过按“空格”取消Visual Studio 2015中的自动完成?

在 javascript 中禁用 Visual Studio 自动完成注释

自动完成在 Visual Studio Code 中的 ASP.NET Core 5 Razor Tag Helper 中不起作用

Visual Studio 2015 / Visual Assist 自动完成行为

如何刷新 Visual Studio 2017 Team Explorer 面板中的远程分支列表?