Visual Studio 2013 AngularJS智能感知支持

Hen*_*y O 52 angularjs visual-studio-2013

我认为VS 2013应该支持angularjs属性intellisense?出于某种原因,它不适用于最新版本的Microsoft Visual Studio Ultimate 2013版本12.0.21005.1

获得以下验证警告:属性'ng-app'不是元素'html'的有效属性.
属性"ng-view"不是元素"div"的有效属性.

我错过了某处的xsd参考?

Ome*_*BTW 65

我有同样的问题,我做了以下,它有所帮助.

如果您使用的是ReSharper,则可以添加一个可以为您提供Intellisense的扩展名,并且不会发出警告.

VS> Resharper> Extension Manager中的顶级菜单>搜索AngularJS这将添加角度js智能感知.

- - - -编辑 - - - -

使用Resharper 8.2.1 Resharper菜单

在此输入图像描述

  • 我在ReSharper 8.2上,但在VS> Resharper> Extension Manager下没有ReSharper Gallery.由于这是在8.2中安装插件的唯一方法,所以我输了.我通过转到VS> Resharper> Options ...> Environment> Extension Manager恢复了ReSharper Gallery.我添加了一个名为"My ReSharper Gallery"的新扩展源,指向https://resharper-plugins.jetbrains.com/api/v2我在JetBrain的网站或任何文档中找不到该服务的地址.我只是通过访问https://resharper-plugins.jetbrains.com/packages并查看网络流量来解决这个问题. (2认同)

pua*_*rgs 20

我知道这是旧的,但它仍然在发生在我身上.要修复VS 2013,请按照以下说明操作:

1)打开文件C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\Packages\schemas\html\commonHTML5Types.xsd

2)找到文件中以该行开头的区域: <xsd:attribute name="translate">.向下滚动约7行以查找相应的结束标记:</xsd:attribute>

3)在结束标记上方</xsd:attributeGroup>,粘贴以下代码行:

<xsd:attribute name="ng-app" vs:category="Angular" />
<xsd:attribute name="ng-bind-html" vs:category="Angular" />
<xsd:attribute name="ng-bind-html-unsafe" vs:category="Angular" />
<xsd:attribute name="ng-bind-template" vs:category="Angular" />
<xsd:attribute name="ng-checked" vs:category="Angular" />
<xsd:attribute name="ng-class" vs:category="Angular" />
<xsd:attribute name="ng-class-even" vs:category="Angular" />
<xsd:attribute name="ng-class-odd" vs:category="Angular" />
<xsd:attribute name="ng-click" vs:category="Angular" />
<xsd:attribute name="ng-cloak" vs:category="Angular" />
<xsd:attribute name="ng-controller" vs:category="Angular" />
<xsd:attribute name="ng-csp" vs:category="Angular" />
<xsd:attribute name="ng-dblclick" vs:category="Angular" />
<xsd:attribute name="ng-disabled" vs:category="Angular" />
<xsd:attribute name="ng-form" vs:category="Angular" />
<xsd:attribute name="ng-hide" vs:category="Angular" />
<xsd:attribute name="ng-href" vs:category="Angular" />
<xsd:attribute name="ng-include" vs:category="Angular" />
<xsd:attribute name="ng-init" vs:category="Angular" />
<xsd:attribute name="ng-list" vs:category="Angular" />
<xsd:attribute name="ng-model" vs:category="Angular" />
<xsd:attribute name="ng-mousedown" vs:category="Angular" />
<xsd:attribute name="ng-mouseenter" vs:category="Angular" />
<xsd:attribute name="ng-mouseleave" vs:category="Angular" />
<xsd:attribute name="ng-mousemove" vs:category="Angular" />
<xsd:attribute name="ng-mouseover" vs:category="Angular" />
<xsd:attribute name="ng-mouseup" vs:category="Angular" />
<xsd:attribute name="ng-multiple" vs:category="Angular" />
<xsd:attribute name="ng-non-bindable" vs:category="Angular" />
<xsd:attribute name="ng-readonly" vs:category="Angular" />
<xsd:attribute name="ng-repeat" vs:category="Angular" />
<xsd:attribute name="ng-selected" vs:category="Angular" />
<xsd:attribute name="ng-show" vs:category="Angular" />
<xsd:attribute name="ng-src" vs:category="Angular" />
<xsd:attribute name="ng-style" vs:category="Angular" />
<xsd:attribute name="ng-switch" vs:category="Angular" />
<xsd:attribute name="ng-transclude" vs:category="Angular" />
<xsd:attribute name="ng-view" vs:category="Angular" />
Run Code Online (Sandbox Code Playgroud)

保存文件并重新打开VS2013.这应该解决问题.

  • 这是正确答案,不需要第三方工具.问题是VS2013确实包含Angular支持但仅适用于.html页面.这个答案为.aspx页面添加了相同的支持. (2认同)

Xav*_*ohn 17

我安装了http://vswebessentials.com/

创建了一个名为_reference.js的文件,其中包含内容

/// <autosync enabled="true" />
/// <reference path="angular.js" />
/// <reference path="underscore.js" />
Run Code Online (Sandbox Code Playgroud)

我从The Story Behind _references.js中了解到了这一点


and*_*rsh 9

如果您使用的是ReSharper,请尝试关闭ReSharper IntelliSense for HTML.

ReSharper>选项> IntelliSense>常规>有限ReSharper IntelliSense

笔记:

  • 这不会在ASP.NET文件中提供AngularJS智能感知
  • 更改设置后,您需要在VS中重新打开HTML文件
  • 当前版本的ReSharper是8.2


Asp*_*uru 9

您也可以从VS 2013中的包管理器控制台运行它:Install-Package AngularJS.Intellisense.


小智 5

尝试勾选Text Editor\HTML\General\Auto list members选项.