我认为 VS 2013 应该支持 angularjs 属性智能感知?出于某种原因,它不适用于我在最新版本的 Microsoft Visual Studio Ultimate 2013 版本 12.0.21005.1 上
收到以下验证警告:属性“ng-app”不是元素“html”的有效属性。
属性“ng-view”不是元素“div”的有效属性。
我在某处缺少 xsd 参考吗?
我认为 VS 2013 应该支持 angularjs 属性智能感知?出于某种原因,它不适用于我在最新版本的 Microsoft Visual Studio Ultimate 2013 版本 12.0.21005.1 上
收到以下验证警告:属性“ng-app”不是元素“html”的有效属性。
属性“ng-view”不是元素“div”的有效属性。
我在某处缺少 xsd 参考吗?
我遇到了同样的问题,我做了以下事情,它有所帮助。
如果您使用的是 ReSharper,则可以添加一个扩展程序,该扩展程序将为您提供 Intellisense,并且不会发出警告。
VS>Resharper>Extension Manager>Search AngularJS 中的顶部菜单这将添加 Angular js 智能感知。
- - - -编辑 - - - -
使用 Resharper 8.2.1
我知道这是旧的,但它仍然发生在我身上。要为 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" />
保存文件并重新打开 VS2013。这应该可以解决问题。
我安装了http://vswebessentials.com/
创建了一个名为 _reference.js 的文件,其中包含内容
/// <autosync enabled="true" />
/// <reference path="angular.js" />
/// <reference path="underscore.js" />
您也可以从 VS 2013 中的包管理器控制台运行它:Install-Package AngularJS.Intellisense。
如果您使用的是 ReSharper,请尝试关闭 ReSharper IntelliSense for HTML。
ReSharper > 选项 > IntelliSense > 常规 > 有限 ReSharper IntelliSense
笔记:
尝试勾选Text Editor\HTML\General\Auto list members
选项。
Visual Studio 2013 Update 4 删除了验证,但它不包括 IntelliSense for AngularJS。
支持自定义元素、聚合物元素和属性
我们不再验证自定义元素的未知属性,因为在不同的框架中会有许多自定义标签。所以在未知元素下将不再有曲线。
验证仅在 HTML 编辑器中被删除,而不是 HTML(Web 表单)编辑器。这意味着,默认情况下,.html 文件不会有自定义元素验证,但 .aspx 页面会有。如果像我一样,您认为这没有意义,请通过投票支持.aspx 文件中的自定义元素来表示您的支持。
遇到同样的问题。如果你在 VS 2013 上安装了 ReSharper,你可以通过安装 AngularJS 插件(由 JetBrains 提供)来获得 instellisense。
这是如何做到的:
以上应该可以满足您的需求。如果您需要图像指南,这里是链接 - http://jeeshenlee.com/2014/07/12/how-to-get-angularjs-intellisense-support-on-resharper/
我知道这篇文章很旧,问题专门针对 VS 2013,但是如果您仍在运行VS 2010并且想要应用 puargs 解决方案,您可以在 C:\Program Files (x86)\Microsoft Visual Studio 10.0\ 找到该文件Common7\Packages\schemas\html\html_5.xsd。
您需要在该<xsd:attributeGroup name="commonHTML5coreAttributeGroup">
部分中添加 puargs 的代码。
Mads Kristensen 还讨论了 [将此解决方案应用于VS 2012] 1并在步骤 2 中提供了指向 2012 的 commonHTML5Types.xsd 更新版本的链接。
另请注意,puargs 和 Mads 列表都缺少ng-view上的属性,该属性导致“属性名称必须后跟等号 (=)”警告。完整的元素是:.<xsd:attribute name="ng-view" vs:category="Angular" vs:standalone="true"/>
我刚刚为 HTML 页面禁用了 resharper intellisense 并在 VS2013 上重新获得了 angular intellisense
我没有尝试过 vs2013,但可以工作。使用 vs2012。 http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012