我注意到,Visual Studio中的自动完成功能在我的项目达到一定大小后不再正常工作(在我的情况下约为4,100行代码)。我还注意到,一旦第三方库的数量增加(名称空间和类属性和方法不再可见),性能也会降低。
有没有办法手动更新自动完成数据库或为现有项目创建新数据库?
我目前正在Visual Studio 2008下工作,但我也在Visual Studio 2010中遇到过这个问题。
答案 0 :(得分:11)
对于VS2015和2017,请关闭Visual Studio并删除与解决方案相同的文件夹中的.vs文件夹。它包含intellisense数据库(如果我们知道哪些文件,应该可以只删除特定于intellisense的文件)。请注意,如果删除整个文件夹,则会丢失窗口布局配置等。
对于以前的版本,请关闭Visual Studio并导航到项目文件夹。 * .sdf文件包含intellisense数据库 - 如果删除此文件并在visual studio中重新打开项目,它将重建缓存。
删除sdf文件解决了我的问题。
有时候使用大解决方案(主要是C ++项目)会变成 难以忍受的慢。要修复它,你需要关闭解决方案然后去 删除.SDF文件。之后它又恢复正常了 一个星期左右,直到你需要再做一次。
根本原因是SDF文件碎片化, 根据我所做的xperf剖析,VS有时会做20,000以上 在调试和发布之间进行更改时随机读取。把 SSD上的SDF文件可以解决问题,但不一定非必要。 VS需要更有效地使用SDF文件,而不是阻止SDF 操作,永远。
答案 1 :(得分:5)
在VS2017中,当我使用互操作来从C#调用CPP时,我常常遇到这种情况,当CPP端发生变化时...构造函数参数。
在解决方案中卸载并重新加载CPP项目有助于解决红线问题。
答案 2 :(得分:1)
在验证了 daniol 3 月 15 日的结果后,我进入了 .vs 文件夹 -> {MyProject} 文件夹 -> DesignTimeBuild 文件夹并删除了 .dbtcache 文件,Intellisense 现在可以“智能地”工作而不会丢失 Window Layout 或其他 .索信息。我怀疑 eq_ 在 1 月 4 日提供的“Diagnostics.DTBBLog”命令做了同样的事情,但该命令似乎不再可用,至少在那个名称中是这样。
答案 3 :(得分:0)
对于Visual Studio 2017(我想也是Visual Studio 2019),请关闭Visual Studio,进入项目文件夹中的.vs文件夹,删除除.suo文件之外的所有内容,然后重新打开Visual Studio。
通过这种方式,您可以重建Intellisense缓存而不会丢失首选项。
答案 4 :(得分:0)
我正在使用Visual Studio 2019,并且在使用Intellisense以及其他功能时也遇到了问题。在Intellisense停止使用代码格式化之前,我将能够通过大约2或3个文件更新。
我能使事情再次正常运行的唯一方法是重新启动Visual Studio,我尝试同时删除了intellisense文件夹和整个.vs
文件夹,但这并不能解决问题,但有帮助在继续。
我终于可以通过关闭
下的Track changes
选项来解决此问题
Tools->Options->Text Editor->General
。
答案 5 :(得分:-1)
对于 Visual Studio 2017(并且主要使用 C# 项目),以下一直对我有用:
无需关闭解决方案并重新加载等。 发现在 Visual Studio 2019 中删除了此命令是毁灭性的...