Visual Studio 2013 AngularJS智能感知支持




visual-studio-2013 (8)

Visual Studio 2013 Update 4刪除了驗證,但它不包含AngularJS的IntelliSense。

支持自定義元素,聚合物元素和屬性

我們不再驗證自定義元素的未知屬性,因為在不同的框架中會有許多自定義標記。 因此,在未知元素下將不再存在曲折。

- 在Visual Studio 2013 Update 4 RC中宣布新的Web功能

下載Visual Studio 2013 Update 4

驗證僅在HTML編輯器中刪除,而不是在HTML(Web窗體)編輯器中刪除。 這意味著,默認情況下,.html文件不會有自定義元素驗證,但.aspx頁面會。 如果像我一樣認為這不合理,請在.aspx文件中投票選擇自定義元素來表示支持。

我認為VS 2013應該支持angularjs屬性intellisense? 出於某種原因,它不適用於最新版本的Microsoft Visual Studio Ultimate 2013版本12.0.21005.1

獲得以下驗證警告:屬性'ng-app'不是元素'html'的有效屬性。
屬性“ng-view”不是元素“div”的有效屬性。

我錯過了某處的xsd參考嗎?


你也可以擺脫警告:

1


如果您使用的是ReSharper,請嘗試關閉ReSharper IntelliSense for HTML。

ReSharper>選項> IntelliSense>常規>有限ReSharper IntelliSense

筆記:

  • 這不會在ASP.NET文件中提供AngularJS智能感知
  • 更改設置後,您需要在VS中重新打開HTML文件
  • 當前版本的ReSharper是8.2

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



我有同樣的問題,我做了以下,它有所幫助。

如果您使用的是ReSharper,則可以添加一個可以為您提供Intellisense的擴展,並且不會發出警告。

VS> Resharper> Extension Manager中的頂級菜單>搜索AngularJS這將添加角度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。 這應該可以解決問題。


我知道這篇文章很老,問題特別提到了VS 2013,但是如果你還在運行VS 2010並想要應用puargs解決方案,你可以在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0找到該文件Common7 \包\模式\ 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" />





visual-studio-2013