打开Visual Studio时,为什么智能感知和代码建议会停止工作?


149

我在Microsoft Visual Studio 2012中遇到了Intellisense的问题。我将在一个项目中工作,编辑代码,然后再编辑(一段时间后,从5分钟到一个多小时不等),突然之间,不再有任何代码建议或智能提示。两者似乎都在同一时间完全停止工作。

我尝试过的唯一解决方案是重置所有设置,完全关闭Visual Studio,然后再次重新打开项目。是否有更好的解决方案或更新可以解决此问题?


3
请将您的标签限制为实际需要的标签。“ microsoft”不是,因为没有其他人制造Visual Studio或拥有vb.net。“应用程序设置”似乎与保存/读取您正在编写的应用程序(而不是您正在使用的IDE)的设置有关。您可能还想编辑问题并将其分解为一些可读的段落。您所张贴的文字墙很难阅读,并且您越容易提出问题来阅读,就越有机会获得帮助。:-)
肯·怀特

3
抱歉,只是因为没有任何原因应该起作用的事情我才变得如此努力。
乔什·门泽尔

您有安装任何附加组件吗?
bobek

1
+1。我在VS 2010中几次遇到相同的问题。重新启动VS通常会有所帮助。无需重置设置。它很少发生,所以对我来说从来没有什么大不了的。
Neolisk

目前没有安装附加组件。
Josh Menzel

Answers:


10

我花了很多时间研究同样的问题。一些解决方案将此bug与某些引用的程序集相关联。其他人则表示,Microsoft.Windows.Design.Extension.dll并且.Interactivity.dll应该在项目参考中。但是这些解决方案都不适合我。

我认为这是Visual Studio 2012中的错误,Microsoft必须对其进行修复。


3
我有Visual Studio 2013,而且这种情况仍在发生。这仍然是错误吗?
Zein Sleiman 2014年

1
是的。不幸的是,在过去的几年中,VS似乎每次迭代都变得越来越慢和容易出错。
PaulK 2015年

37
这不应是公认的答案。Tony L的以下回答是正确的。
Scott R. Frost 2015年

我有Visual Studio 2015,而Intellisense速度很慢或根本无法工作。有时它可以正常运行,但通常不会。
坚果

9
在VS2015中仍然遇到此问题
Wouter

313

我应该注意,自升级RAM以来,我没有遇到任何问题。我无法确认是否相关,但是当我拥有2-4GB RAM时问题很普遍。自从转到8和16GB以来没有问题。

如果似乎只有一个文件/窗口受到影响,请关闭并重新打开该文件。如果这不起作用,请尝试以下操作。

在Visual Studio中:

  1. 单击工具->选项->文本编辑器->所有语言->常规
  2. 取消选中“自动列出成员”
  3. 取消选中“参数信息”
  4. 选中“自动列出成员”(是,您刚刚取消选中的那个)
  5. 选中“参数信息”(同样,您刚刚取消选中的那个)
  6. 点击确定

如果这不起作用,请尝试以下几个步骤:

  1. 关闭所有VS文档,然后重新打开
  2. 如果仍然无法正常工作,请关闭/重新打开解决方案
  3. 如果仍然无法正常工作,请重新启动VS。

对于C ++项目:
MSDN有一些尝试的方法:MSDN建议

损坏的.ncb文件似乎很有可能。

从MSDN:

  1. 关闭解决方案。
  2. 删除.ncb文件。
  3. 重新打开解决方案。(这将创建一个新.ncb文件。)

笔记:

  • 在VS 2013/2015中测试

记录可能的原因:

  • 在源页面中复制/粘贴控件。我发现我的designer.vb文件也没有从此更新。
  • 从另一个页面复制/粘贴代码导致错误,因为复制的代码指向我粘贴到的页面上没有的控件。
  • C ++项目的.ncb文件损坏

(如果您注意到引起这种情况的行为,请添加到注释中。)


12
必须重新启动VS
乔纳森·布朗

2
对我来说,重新启动VS并没有关闭和打开该文件的效果。非常感谢!
MKesper '16

1
Tools->位也可以在VS2015 Ultimate Update 2上运行,无需重新启动。如果我只能给出这个答案+ 1 ^ 6,那么我在2个想法下便转向Eclipse> ;-)也就是说,MS的某个人应该为这个bug在全球范围内引起的生产力割礼
傻笑的人

1
缺少函数自变量Intellisense的另一个愚蠢原因可能是无法访问的保护级别。例如,用protectedctor代替public。该protected构造函数将出现在访问范围的功能列表之外,但参数的智能感知将丢失,这是有点恕我直言不一致。
Special Sauce

3
对我有用的是检查/取消选中的东西,关闭所有窗口并重新启动。
Marvin Effing

34

对我有用的是,在与解决方案文件位于同一路径的.vs(隐藏)目录中,删除动态构建的.suo文件(“解决方案用户选项”)

我有时会遇到这个问题,它在不同的项目/解决方案上,但是从来没有VS广泛。新项目始终可以正常工作。

运行VS2015 Professional Update -2-


这个解决方案对我有用!Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3。非常感谢你。
AndreaT

不要遵循此建议。我项目的所有配置现在都消失了(包括目录,定义等)。VS2017
hacksoi

12

我有相同的问题; Intellisense随机会停止在某些文件中显示,但不会在其他文件中显示。我只是又一次发生在我身上。按Ctrl+ Space不会显示任何内容Form1,切换到Form2或任何其他班级都会按预期弹出该列表。重新启动Visual Studio通常可以解决问题,尽管破坏这样的基本功能非常烦人和荒谬……


11

对我有用的是禁用然后重新启用Resharper


Tools -> Options-> Resharper ->General

单击
Suspend->这将禁用转发器

然后检查您的Intellisense是否正常工作。就我而言,它做到了,然后我恢复Resharper

如果这不起作用,则可能需要转到
Resharper -> Options-> Environment -> Intellisense -> General

并将
Intellisense更改为Visual Studio


11

我找到了一种100%可用的解决方案(我没有安装ReSharper)。按RefreshSolution Explorer品牌智能感知回来。


1
在没有ReSharper的情况下为我工作的VS2017
Jaider

1
在VS2017中对我有效,我不知道是否安装了ReSharper。(我认为这涵盖了所有可能的情况。)
Hammer的代码,

7

这些步骤对我都不起作用。奇怪的是,我注意到Intellisense正在Visual Studio 2015中为另一种解决方案工作,但没有为特定解决方案工作。

我找到并删除了.suo文件,然后重新启动了Visual Studio。这为我解决了。


2

我在C ++的Visual Studio 2010上遇到了相同的问题,并且通过工具->选项->文本编辑器-> C / C ++->高级->禁用数据库-> False,Ok超过了它;关闭VS;打开VS和瞧。


重新启动VS之前,您是否测试过?我想知道重启是否能解决问题。
托尼L.

1
首先,我在VS重新启动之前对其进行了一次测试,但是它不起作用,多次更改了该选项,然后重新启动,并且在重新启动后,根据最后一次更改,它具有其他行为。因此,我推导了VS重新启动后发生的效果。
GreatDane 2015年

2

我在Visual Studio 2015 + C#中面临此问题。

过了一会儿,我解决了这个问题:

1)开始:工具->选项->文本编辑器-> C#

2)选中这些选项“自动列出成员”和“启用虚拟空间”。

可能是某些扩展程序(例如R#)禁用了这些选项以使用其工具。


2

在Visual Studio> 2015中,我删除了.suo文件。(通过文件资源管理器在项目中搜索)

重新启动Visual Studio,一切顺利。


1
我删除了我的.VS项目文件夹内得到它固定在VS 2017年和2019
Chesare


1

就我而言,我已经通过右键单击=>“ Include in Project”将.ascx.cs添加到项目中,但是项目将其设置为“ Content”而不是“ Compile”。将其设置为“编译”后,智能感知将重新开始工作。


1

MS Visual Studio 2017 Pro,C ++项目

这个问题的答案太多。这对我有用:


当我通过双击解决方案文件加载项目时,IntelliSense才起作用。

不幸的是,我尝试了以上所有答案,但是没有运气。Dll,设置,依赖项...您给它命名。很遗憾,您必须完成所有这些工作才能自动完成....错过了我的Vim配置...。


0

我有VS2012更新4,问题是断断续续的,但是一旦它出现在正在编辑的特定页面上,它就会保留下来。一种解决方案是简单地关闭页面并重新编辑它。

这是一些KBD快捷方式,可尝试重新启动它,但不知道它们是否有效。

用于显示智能感知的Visual Studio键盘快捷方式

这些解决方案都不适合我,顺便说一句,我正在使用C#...

我认为这是另一个IS错误。。。在过去有很多问题。


0

@TonyL的答案对我不起作用,但是我注意到在foo更改类中的方法签名后,Intellisense停止在该类中工作bar

关闭并重新打开该foo.cs文件即可修复它。


0

刚帮助我的一件事是

  1. 删除那里的每个项目文件。我的项目有10个文件夹,超过30个文件。
  2. 重新创建项目。

这大约需要5分钟-但可以节省很多时间,因为intellisense实际开始工作。

需要注意的一件事是,内存使用率(VS 2013 Ultimate的右上角)显示下降了约40%。


2
小型项目就可以了。我现在正在看的是一个智能感知项目,有超过100,000个文件。
Dagrooms

0

尝试安装update 1软件包,链接。安装更新时,我遇到了同样的问题并已解决。


3
我已经安装了更新,并且遇到了这个问题。
乔什·门泽尔

我有更新4,但仍然可能发生。我猜想重启VS可能实际上是为您解决的问题。
托尼·L.

0

我遇到了同样的问题,原来是从我刚从存储库中下载的解决方案没有自动下载nuget软件包,因此intellisense不可用,因为没有任何可显示正确建议的必需软件包。


0

我目前在YouTube上观看了MVA python教程,并注意到我的才智也消失了,他们解释了原因之后不久,

与此类似的东西(例如我缺乏适当的编码词汇,我是编程新手,但我已经找到了解决方案)

答:“ Visual Studio不能总是猜出您要输入的内容-因此,它并不总是意识到它需要给您提示,例如,如果您试图在变量中使用字符串并且需要intellisense来给您提示选项的字符串内容,您必须有时告诉Visual Studio此变量实际上是字符串。

例:

name = ' ' # insert this line to tell visual studio that your variable is a string.
name = input('whats your name? \n') 
name = name.upper() #then when you type name.u.... it will give you intellisense

0

我只有一个文件有此问题。创建新类并进行处理后,尚未将其添加到我的项目范围内。因此,第二天关闭并重新打开解决方案时,该文件不在项目范围内。

将现有项目添加到项目范围对我来说已经解决了。


0

就我而言,起初我根本不那么在意,即使解决方案中的30个项目之一仍在编辑器中加载,但没有智能感知,却看不到解决方案中的30多个项目中的一个说“(加载失败)”。重新加载项目就可以了。


0

尽管我可以成功地编译项目,但在我的情况下,Intellisense无法识别导入的名称空间。解决方案是在项目引用选项卡上取消选中导入的名称空间,保存项目,再次检查并再次保存项目。



0

我的解决方案(我使用过perforce)是加载整个解决方案,而不是单个文件。

最初,我是通过在perforce中单击文件来加载文件的

解决方案关闭VS(已关闭单个文件),通过启动解决方案文件而不是单个文件重新打开


0

如果使用母版页,则创建一个空白母版页,然后在内容页面中使用该母版页。如果这解决了问题,则意味着您的原始母版页出现了问题。逐步将原始代码移植到新的母版页,并在每个端口之后测试intellisense是否正常工作。这个技巧解决了我的智能问题。


0

对于python,请尝试单击底部状态栏左侧的“ Python XX”按钮,然后将其更改为其他值。

这是唯一对我有用的东西。


0

如果仍然有此问题,只需关闭解决方案,然后重新打开即可。


0

只要Visual Studio存在,我就已经处理了。是的,即使在当前版本中,它仍然会失败(尤其是对于大型项目)。

我想分享我和朋友为解决这个完全相同的问题而写的小型免费工具。基本上,您需要关闭解决方案,将其文件夹拖到该工具的图标中,它将为您重置所有中间文件。(如果您想知道哪些内容,请阅读里面的文本手册。这不仅仅是一个文件。)

我用它来清理我所有的VS项目。所以,你开始

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.