AngularJS intellisense无法在Visual Studio 2015上运行

edu*_*glz 40 intellisense angularjs visual-studio-2015

根据这篇文章, intellisense也应该在新的VS 2015上工作,但到目前为止我只获得了角度对象的intellisense而不是依赖项或我的自定义模块.

图片

这是我做的:

  1. 将angular.intellisense.js添加到全局javascript引用中 C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References
  2. 重新启动VS2015然后什么都没有,只要我试图在$ http对象上使用intellisense时它就会显示惊叹号.

我还将文件添加到与angular.js相同的位置,但它仍然无法正常工作.我在这种情况下的问题是,我应该在哪里放置文件?在只有我的angular.js的角度公用文件夹上,或在我的dev角文件夹中,从凉亭下载的所有文件都在.

我还尝试将它直接添加到Implicit(Web)引用组的tools/options/text editor/javascriptr/intellisense/reference菜单中,但它仍然无效.

在我的项目中,我在src文件夹中有以下文件夹结构:

  • wwwroot文件
    • app(我的角度网站的东西)
      • 控制器
      • 服务
      • 意见
    • lib(js依赖项,只有每个库的.min.js文件)
      • 角路径
      • ....
    • _references.js(visual studio js引用文件,包含对app和lib文件夹内文件的引用)
  • 库(包含凉亭下载的完整库)
    • 角路径
    • ...

作为旁注,我没有/ scripts文件夹,因此没有/scripts/_references.js文件

.

tod*_*dmo 33

这在Web项目中的Visual Studio 2015 RTM中不起作用,但我解决了这个问题.

此项目不是使用Visual Studio创建的,并且在_references.js任何地方都没有文件.所以我认为这适用于任何情况.

我从VS UI中删除了所有其他intellisense资源,以确保我所做的是修复它的内容.

  1. 转到https://www.angularjs.org并打开下载对话框.

下载AngularJS对话框

  1. 复制未压缩的CDN网址.今天碰巧是https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js
  2. 在Visual Studio 2015 RTM中,转到Tools, Options, Text Editor, Javascript, Intellisense, References.选择适当的参考组; 对于大多数Web项目,这是Implicit (Web).将网址粘贴在底部文本框中,然后点击Add按钮.不要忽略该对话框. 在此输入图像描述
  3. Text Editor, Javascript, Intellisense, General,请确保选中复选框Download remote references.
  4. 单击OK按钮.
  5. (可选)如果您想要创建角度提供程序的智能感知(不是角度框架的一部分),请添加_references.js到项目的根目录.不要打扰制作Scripts文件夹.右键单击它并选择自动同步,然后选择更新.进入它并删除构建过程创建的任何js文件.如果你不这样做,它们可能会如此之大,以至于它们会破坏智能感知.第一次使用intellisense时要做好约5-10秒的延迟准备,因为必须从项目中加载所有这些引用.
  6. 如果javascript干扰本机智能感知,您可能需要在Resharper中禁用intellisense.
  7. 重新启动Visual Studio.直到你这样做才行不通.另外,我首先关闭除此实例之外的所有其他实例,因此这些设置"坚持".所以我建议你在重启这个实例之前这样做.

  • 这是一个非常好的答案,但它缺少一些细节.在步骤3中,确保在参考组中选择了隐式(Web)(假设您构建网站).此外,请确保勾选工具,选项,文本编辑器,Javascript,智能感知,常规"下载远程引用[...]"复选框.最后,确保解析器的inteharis intellisense因为它在某种程度上被关闭了,至少在写评论的时候.HaRoLD对此问题的回答解释了如何做到这一点. (10认同)

HaR*_*oLD 21

正如@Balthasar指出的那样(如果你使用的是Resharper),你需要从Visual Studio启用intellisense才能工作:

Resharper - >选项 - >环境 - > intellisense - >一般,选择'Custom Intellisense',对于Javascript,您可以选择Visual Studio.或者,您可以使用'Visual Studio'语句完成(第二个选项)

在此输入图像描述


小智 8

我刚刚意识到_reference.js文件使用的自动命令(首先是我的文件然后是框架的文件)阻止了intellinsense处理不是app.js文件的其他文件

这是我现在的_references.js的样子:

/// <autosync enabled="false" />
/// <reference path="angular.js" />
/// <reference path="angular-resource.js" />
/// <reference path="angular-ui-router.min.js" />
/// <reference path="jquery-2.1.4.js" />
/// <reference path="materialize/materialize.js" />
/// <reference path="../App/App.js" />
/// <reference path="../App/Controllers/productsController.js" />
/// <reference path="../App/Controllers/productsEditController.js" />
/// <reference path="../App/Controllers/valuesController.js" />
/// <reference path="../common/common.services.js" />
/// <reference path="../common/productsResource.js" />
/// <reference path="../common/valuesResource.js" />
Run Code Online (Sandbox Code Playgroud)


Bal*_*sar 5

我有一个类似的问题,结果Resharper阻止了我在_references.js文件中设置的所有漂亮的JavaScript intellisense.