VS2013智能感知不停止工作

61

我使用的是没有插件或其他花哨功能的Visual Studio 2013。每当我编程时,偶尔(大约每半个小时一次),智能感知会随机停止完成我的句子或在我按下Ctrl+Space时弹出。

我尝试了"工具"->"导入和导出设置"->"重置所有设置",但没有帮助。问题马上又回来了。

现在唯一解决它的方法是关闭VS并重新打开它。但是,你可以想象这是非常令人沮丧的。


6
我有同样的问题,我也只是关闭并重新打开。我会很感兴趣看看是否有更好的解决方案。 - SimonPJ
我打开了两个文件,一个文件中我正在使用linq从一个大的代理类选择语句到一个较小的类,另一个文件中定义了大类和小类。每当我在小类中重命名属性时,智能感知似乎会失败。 - Isaac Bolinger
是的,这一直是个问题。我相信它会感到困惑。毕竟,它正在即时地执行一个相当复杂的任务。 - dyasta
17个回答

40

我曾经遇到同样的问题,这种方法对我有用。

http://omegacoder.com/?p=1008

基本上,进入“工具”>>“选项”>>“文本编辑器”>>“所有语言”>>“常规”,确保“自动列出成员”和“参数信息”都被勾选(不是半勾选/方形状态)。


对我来说有效,这是在我安装了Vs2013的typescript 1.5之后发生的。 - iAteABug_And_iLiked_it
谢谢,老兄。对我也有用。;) - Kemal Can ÖZÇELİK

31

这个问题在VS2013 update 4中仍然存在(我有一个使用C#的WPF项目)。

相对容易的解决方法是关闭文件,然后重新打开它,而不需要关闭整个项目。


1
我也遇到了这个问题,只需关闭/重新打开文件即可解决问题。 - Lee Harrison
我从VS2010开始就注意到了这个问题,在VS 2013中仍然存在。我不知道简单地重新打开文件就可以解决它,所以这太棒了!我想补充一下,Intellisense停止工作的情况似乎并不完全是随机的。当代码处于不可编译状态(出现红色波浪线)时,Intellisense通常会停止工作。我已经接受了这个事实,并且我已经学会了当错误被修复后,它往往会自动恢复。有时它无法恢复,这就是令人沮丧的地方。现在我知道重新打开文件是一个相当容易的解决方法。 - Tony Pulokas

8

1
非常感谢!这完全解决了我的智能感知问题。从未听说过加载/卸载功能。谢谢:)) - CalebHC

8
看起来我删除了之前安装的VS2010设置文件夹后,我的问题解决了。我按照这里的说明操作(VS2013也适用):http://www.haneycodes.net/visual-studio-2012-intellisense-not-working-solved/ 如果链接失效,请按照以下步骤进行操作:
1. 打开开始菜单并输入“%AppData%”,然后按回车键以进入应用程序数据文件夹。 2. 你可能会自动进入“Roaming”文件夹,如果没有,请进入“Roaming”文件夹。 3. 打开“Microsoft”文件夹。 4. 打开“VisualStudio”文件夹。 5. 在这里,你将看到一个名为“11.0”的文件夹(VS 2012文件夹),还可能有一个名为“10.0”的文件夹(VS 2010文件夹)。 6. 删除(或重命名)“10.0”文件夹。请注意,你现在将失去你的Visual Studio 2010设置和偏好(你的项目将安全无恙)。 7. 删除(或重命名)所有不是“11.0”文件夹的其他文件夹,假设你曾经使用过Visual Studio 2008或其他版本。 8. 现在重新启动Visual Studio 2012,你应该可以正常使用了!

5
没,我从来没有安装过VS2010或VS2012。我用带有VS2013的全新8.1安装了它,但它仍然出现这个问题。 - Piotr Kula

7

尝试删除解决方案中的 .suo 文件。这对我很有效。


4
首先要提到的是,自从我升级了内存之后就没有再发生过这种情况。当时我的内存只有4GB,经常同时打开多个实例以及SQL Server。
我发现这种情况似乎发生在我复制/粘贴页面上的控件时。另一个副作用是设计器(.cs/vb/xx)文件不会立即更新,因此我无法在代码后台访问这些控件。
我尝试了一些方法,以下是我目前找到的总结:
- 如果只有一个文件/窗口受到影响,请关闭/重新打开该文件。 - 如果这不起作用...在Visual Studio中: 1. 单击“工具”->“选项”->“文本编辑器”->“所有语言”->“常规” 2. 取消选中“自动列出成员” 3. 取消选中“参数信息” 4. 选中“自动列出成员”(是的,刚才你取消了它) 5. 选中“参数信息”(同样是刚才你取消的那个) 6. 单击“确定” - 如果这仍然不起作用,可以尝试以下几个步骤:
  1. 如果仍然无法工作,请关闭所有窗口并重新打开
  2. 如果仍然无法工作,请关闭/重新打开解决方案
  3. 如果仍然无法工作,请重启VS。

(我还没有弄清楚为什么在某些情况下需要采取更激烈的措施。)

对于C++项目:
MSDN有一些要尝试的东西:MSDN建议

损坏的.ncb文件似乎最有可能。请注意,在VS2013及更高版本中,它是.sdf文件,可以在根文件夹中找到。尝试搜索filename:*.sdf

来自MSDN:

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

注意事项:

  • 已在VS 2013/2015中测试

可能导致日志记录的原因:

  • 在源页面中复制/粘贴控件。我发现我的 designer.vb 文件也没有更新。
  • 从另一个页面复制代码,由于所复制的代码引用了未在我要粘贴到的页面上的控件而导致错误。
  • C++ 项目具有损坏的 .ncb 文件。

2

像cacau所说的,您必须首先清理整个解决方案。然后重新启动VS并重建整个解决方案。当您使用Entity Framework或WCF服务(或其组合)时,有时会出现这种情况。

VS生成许多包含代码的文件(例如服务引用)。当您重新生成该代码时(例如,正在运行Web项目),有时会忘记停止站点。然后VS无法覆盖每个文件。导致全局智能感知失败。


2
“你试过关掉再打开吗?”这种方法从来没有让我失望过! - Dieterg
2
这与Entity或WCF无关。当我尝试设计简单模型时,它会在新的MVC解决方案中发生,但也会在我们不使用Entity或WCF的大型项目中发生。您不需要清理和重建,只需关闭并重新打开VS即可每次修复它。 - Piotr Kula
你安装了最新的SP包吗?一切都更新了吗?否则尝试完全重新安装VS2013。这可能会有所帮助。 - woutervs

2

对我来说,问题发生在我打开了两个相同解决方案的实例。其中一个正在运行测试,而另一个则正在对代码进行微调。通常在我运行一些测试并手动停止调试会话后,智能感知会停止工作。

对我来说,解决方案是关闭所有VS窗口并重新打开...


1

这个主题中的解决方案都对我没用。我成功解决问题的方法是删除packages文件夹中的所有内容。当我重新构建解决方案时,NuGet会获取我删除的所有文件夹的最新版本,智能感知功能就正常工作了。 如果我没记错的话,最初的问题是由"Microsoft.Net.Compilers.1.0.0"文件夹的内容引起的,但我不知道原因。


1

你尝试过对项目进行全新构建吗?

Visual Studio可能会因为一些生成的文件而变得混乱。


我还没有。我刚试着从VS2010中删除了设置文件夹(http://www.haneycodes.net/visual-studio-2012-intellisense-not-working-solved/),但如果这不起作用,我会尝试你的建议。谢谢! - blizz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接