69

我有一个干净的、开箱即用的 Visual Studio 2012 Web Developer Express 安装,由于某种原因,对 JavaScript(jQuery、jQuery UI 和其他库)的支持已经消失。我相信它之前有效,然后“无缘无故”地停止了。

我按照预期浏览了网页,发现了四个差异。

  1. 我的注册表中没有键 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\JavaScriptLanguageService\ImplicitReferences。事实上,我什至没有 JavaScriptLanguageService 目录。

  2. 我检查了引用的文件 domWindows.js 确实是选项指向的位置。

  3. JavaScriptLanguageService 下的输出窗口是空的,在我开发和运行我的应用程序时没有输入任何内容。

  4. 我通过选项引用了我正在使用的 jQuery 文件,但它没有产生任何更改。

总而言之,我收到错误消息说:

“intellisense 无法确定此表达式的准确完成列表,提供的列表包含文件中的所有标识符”

任何建议将不胜感激。

4

8 回答 8

123

CraigTP 致敬

概括:

  1. 导航到 [工具] > [选项] > 文本编辑器 > JavaScript > IntelliSense > 参考选项

  2. 选择隐式(Web)

    你可以找到“~/Scripts/_references.js”(如果你想把它放在不同的地方,在这里改变它)

  3. 转到 ~/Scripts 并添加新项目“_references.js”

  4. 添加/// <reference path="path\jquery-1.7.1.js" />“_references.js”

    或者/// <reference path="~\root\path\jquery-1.7.1.js" />

快乐编码:)

编辑说明:

请记住将 jquery-1.7.1-vsdoc.js 与 jquery-1.7.1.js 放在同一文件夹中

进行上述更改后,如果仍然无法正常工作,请尝试重新启动 Visual Studio。

于 2012-08-18T06:47:29.240 回答
64

转到菜单工具->选项->文本编辑器-> JavaScript -> Intellisense ->参考,然后在隐式 Web组中放置对您正在使用的 jQuery 版本的 Intellisense 文件的引用。

在此处输入图像描述

或者

在 _references.js 文件中放置一个对 intellisense 文件的“添加引用”,您可以将其添加到Scripts项目的文件夹中。

/// <reference path="jquery-1.8.2.js"/>
/// <reference path="jquery-1.8.2.min.js"/>
/// <reference path="jquery-1.8.2.intellisense.js"/>

虽然这只会为您所在的项目提供智能感知,但第一个将为任何打开的 JavaScript 文件提供智能感知,而不仅仅是您所在项目中的那些。

要使用 intellisense 获取最新的 jQuery 文件,请使用NuGet包安装程序,默认情况下会创建一个脚本文件夹并将 jQuery version.js、min.js 和 intellisense.js 文件放入... 从那里您可以将它们复制到大多数 Microsoft 引用都放置在位置,通常是:

install-package jquery在包管理器控制台中。

C:\Program Files (x86)\Microsoft Visual Studio 11.0\JavaScript\References

于 2012-09-27T18:41:59.750 回答
10

概括:

  1. .js要引用的文件从解决方案资源管理器拖到当前文件中。(Visual Studio 将创建一个参考片段。)
于 2012-09-11T18:58:39.097 回答
4

尝试将它们添加到您的隐式 JavaScript 引用中。它位于工具 -> 选项 -> 文本编辑器 -> JavaScript -> IntelliSense -> 参考。

于 2012-07-15T02:59:05.907 回答
4

将 jQuery 及其智能感知文件添加到活动/打开的项目/网站

在 Visual Studio 2012 中,执行以下操作:

打开菜单Tools -> Library Packet Manager -> Manage Nuget packages for solution。单击对话框最右侧的在线字段/选择器。在中间列表中找到 jQuery,点击它,然后点击Install

通过查看解决方案资源管理器面板,观察 jQuery 脚本文件现在已插入到您的项目中。您应该看到 jquery-1.xxjs(这里的 x 是实际版本号的占位符。假设 jquery-1.9.0.js 是一个具体示例)。

另外,请注意那里现在有一个 Jquery-1.9.0.intellisense.js 文件。整齐的艾?:-)

但请记住,如果您在 Visual Studio 中创建一个新网站并选择 ASP:NET Web 表单站点(而不是空站点),那么 Web 表单站点将已经包含 jQuery 1.7.1)。

于 2013-02-01T23:14:29.547 回答
3

我在JavaScript -> Intellisense -> Reference中包含了 jquery-xxx.intellisense.js 。它工作了一次,但在我关闭 Visual Studio 并重新启动它后,智能感知不再工作。但我不小心点击了菜单 Edit -> intellisense -> Refresh Remote References。它再次起作用了。试试看!

于 2013-02-19T18:47:54.163 回答
3

通过从 NuGet 控制台安装它来使用 JQuery 的 NuGet IntelliSense 文档包:

Install-Package jQuery-vsdoc

安装软件包后转到:

Tools>>Options>>Text Editor>>JavaScript>>Intellisense>>References

Implicit(Web)并通过选择硬盘驱动器上安装的包位置添加对组的引用。

重新启动 Visual Studio,您将获得 jQuery 智能感知工作。

于 2015-06-22T16:54:49.793 回答
0

最终对我有用的是重新排序 _references.js 中的列表。由于在项目中导入了一堆插件,我有将近 150 行,而 jQuery 接近底部。当我将它的引用移到顶部时,我的智能感知又开始工作了。

它看起来像什么:

/// <autosync enabled="true" />
/// <reference path="jquery-2.1.3.js" />
/// <reference path="jquery-ui-1.11.2.js" />
/// <reference path="modernizr-2.8.3.js" />
... more reference lines

请注意,该引用是对 jquery-{version}.js 文件的引用。在名为 jquery-{version}.intelliense.js 的同一目录中,还有一个与 Nuget 包一起安装的文件,我假设是使用的文件。希望有帮助。

于 2015-01-12T03:09:40.867 回答