我认为VS 2013应该支持angularjs属性intellisense?由于某种原因,它不适用于最新版本的Microsoft Visual Studio Ultimate 2013版本12.0.21005.1
获取以下验证警告: 属性“ng-app”不是元素“html”的有效属性 属性“ng-view”不是元素“div”的有效属性。
我错过了某处的xsd参考资料吗?
答案 0 :(得分:65)
我遇到了同样的问题,我做了以下操作并且有所帮助。
如果您使用的是ReSharper,则可以添加一个可以提供Intellisense的扩展名,并且不会发出警告。
VS> Resharper中的顶级菜单> Extension Manager>搜索AngularJS 这将添加角度js intellisense。
<强> ------- ------- EDIT 强>
使用Resharper 8.2.1
答案 1 :(得分: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" />
保存文件并重新打开VS2013。这应该可以解决问题。
答案 2 :(得分:17)
我安装了http://vswebessentials.com/
创建了一个名为的文件 _reference.js 内容
/// <autosync enabled="true" />
/// <reference path="angular.js" />
/// <reference path="underscore.js" />
了解到了这一点
答案 3 :(得分:9)
如果您使用的是ReSharper,请尝试关闭ReSharper IntelliSense for HTML。
ReSharper&gt;选项&gt; IntelliSense&gt;一般&gt;有限的ReSharper智能感知
注意:
答案 4 :(得分:9)
您也可以从VS 2013中的包管理器控制台运行它:Install-Package AngularJS.Intellisense。
答案 5 :(得分:5)
尝试在选项中勾选Text Editor\HTML\General\Auto list members
。
答案 6 :(得分:2)
Visual Studio 2013 Update 4删除了验证,但它不包含AngularJS的IntelliSense。
支持自定义元素,聚合物元素和属性
我们不再为自定义元素验证未知属性 将在不同的框架中定制许多标签。所以会有 不再是在未知元素下的曲折。
- Announcing new Web Features in Visual Studio 2013 Update 4 RC
下载Visual Studio 2013 Update 4。
验证仅在HTML编辑器中删除,而不是在HTML(Web窗体)编辑器中删除。这意味着,默认情况下,.html文件不会有自定义元素验证,但.aspx页面会。如果像我一样,你不认为这是有道理的,请通过投票custom elements in .aspx files来表达你的支持。
答案 7 :(得分:1)
遇到同样的问题。如果您像我一样在VS 2013上安装 ReSharper ,则可以通过安装AngularJS插件(由JetBrains提供)来获取instellisense。
以下是如何操作的:
以上应该可以满足您的需求。如果您需要图片指南,请点击链接 - http://jeeshenlee.com/2014/07/12/how-to-get-angularjs-intellisense-support-on-resharper/
答案 8 :(得分:1)
我知道这篇文章已经过时了,问题专门针对VS 2013,但是如果你还在运行 VS 2010 并想要应用puargs解决方案,你可以在C:\ Program找到该文件文件(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"/>
。
答案 9 :(得分:0)
我没有尝试使用vs2013,但可以使用。与vs2012合作。 http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012
答案 10 :(得分:0)
我刚刚为HTML页面禁用了resharper intellisense,并在VS2013上获得了角度智能感知
答案 11 :(得分:0)