如何在Visual Studio 2010中打开IntelliSense?

5

我试图启用aspx文件类型的智能感知。我在文本编辑器选项中检查了自动列出成员。无论是否选择隐藏高级成员,结果都没有区别?

我该如何在VS.NET 2010中启用智能感知?

6个回答

14

默认情况下,IntelliSense应该为ASP.NET启用,包括.aspx文件。如果它停止工作,您有几个选项如下。请尝试第一或第二个选项,仅在没有其他方法可行时,请尝试最后一个选项。

  1. 您可以尝试从Visual Studio菜单中执行以下操作:编辑 > IntelliSense > 刷新本地缓存

  2. 删除此文件夹中的文件:%AppData%\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas,然后重新启动Visual Studio

  3. 如果其他方法都不起作用,您可以在Visual Studio命令提示符中键入以下内容(在开始菜单中)并按Enter:devenv /resetuserdata

这个最后的选项在MSDN上记录了,其中包含以下免责声明:

免责声明:如果您使用此开关,将会丢失全部环境设置和自定义内容。正因为如此,该开关未得到官方支持,微软也不向公众宣传(如果您在命令提示符中键入devenv.exe /?,您将看不到该开关)。只有在遇到环境问题时,作为最后的援助手段才应使用此开关,并在使用此开关之前通过导出来备份您的环境设置。


是的,这就是/resetuserdata开关的作用,这也是我包含免责声明“如果您使用此开关,您将失去所有环境设置和自定义”的原因。 - Michiel van Oosterhout
是的,但仍然没有做任何事情!:( - DATEx2
/reseruserdata 解决了这个问题,我之前尝试了所有的方法都没有帮助,谢谢你,救星! - Neomex
在VS2013中,编辑>智能感知>刷新本地缓存选项不存在,但是删除第二个选项中的文件并重新启动VS就可以解决问题了! - Zain Rizvi

3

我记得几个月前有一个同事遇到了这个问题。如果我没记错的话,删除C:\Users\UserName\AppData\Roaming\Microsoft\VisualStudio\10.0文件夹可以解决此问题。

不过我不能百分之百确定。


关闭任何已打开的 Visual Studio 实例,删除 C:\Users\[username]\AppData\Roaming\Microsoft\VisualStudio\ 中的 10.0 文件夹,然后重新启动 Visual Studio。问题将得到解决。 - Ravimallya

1

ReSharper

对我来说,这些方法都没有起作用。

问题出现在我输入 ReSharper 的许可证信息时。

解决方法是查看 Visual Studio 菜单:Resharper > 选项 然后选择 IntelliSense > 通用 -> 使用 Visual Studio 的 IntelliSense 功能。

似乎 ReSharper 关闭了 Visual Studio 的智能感知功能,而 Visual Studio 不接受 ReSharper 的智能感知功能。


在我的VS2017中有效。 - Karl

0

还有几件事情需要注意:

-- 我之前曾经遇到过这个问题,因为我从一个x64机器上加载了设置文件到一个x86机器上(完全导出)。在“工具> 文本编辑器> JavaScript> 智能感知> 引用”中有一些路径,在x86机器上根本不存在。

***注:该设置编辑器中有一个“引用组”下拉框,我从未成功地将其永久设置。每次回到设置(或打开环境)时都会恢复原状。

-- 默认情况下,VS Web应用程序模板带有一个~/Scripts/_references.js文件和这些行:

/// <reference path="jquery-1.8.2.js" />
/// <reference path="jquery-ui-1.8.24.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
/// <reference path="knockout-2.2.0.debug.js" />
/// <reference path="modernizr-2.6.2.js" />

...这是我以前用过的方法,但并没有起到帮助作用。

-- 如果您重置了所有设置,请在第一次启动时选择Web开发人员(这可能是我的偏执症,因为在使jQuery智能感知工作后我没有重新测试...但是,即使选择了Web Developer(仅代码),我仍然没有jQuery智能感知)

-- 在进行每个更改后重新启动VS ;-)


0

我刚刚遇到了这个问题,花了我四个小时才解决,但是我想分享一下解决方案,以防其他人也会遇到类似的问题。实际上很愚蠢,但是以防万一,我还是想分享一下。

如果您使用了一个包含用户控件的母版页(就像我的一样),并且您尝试通过将html/head/body标签放在单独的控件中来“加速”它,那么您将失去ASP.net智能感知功能。就像这个(非常简单、粗糙的)例子:

<html>
<head>
Some CSS/Javascript here
<HBT:Head_And_Body_Tags id="Head_And_Body_Tags" runat="server" />
<asp:ContentPlaceHolder id="Page_Content" runat="server"></asp:ContentPlaceHolder>
<HBT:Footer_And_Close_Body_Tags id="Footer_and_Close_Body_Tags" runat="server" />

在这个例子中缺少头和html闭合标签将会导致构建错误,进而导致HTML验证错误。出于某种奇怪的原因,HTML智能感知仍然可用,但ASP.net智能感知不起作用。

在我的情况下,这是一个失败的缓存实验。对我来说并不明智,我承认...但至少希望有人能从我的错误中学到经验(或者如果我再犯同样的错误,我自己能够学到经验,虽然我非常怀疑会再次犯同样的错误)。


-1
简单的方法是从一个良好的应用程序中复制 Visual Studio 的良好设置到受损的应用程序中。Visual Studio 的智能感知将会被恢复。

作者很久以前就接受了一个详细的回答来解决这个问题——除非被接受的答案是错误的或缺乏细节,否则额外的答案可能是不必要的。 - mcknz

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