web-dev-qa-db-fra.com

Prise en charge de Visual Studio 2013 AngularJS intellisense

Je pensais que VS 2013 est supposé avoir un support pour l'attribut angularjs intellisense? Pour une raison quelconque, cela ne fonctionne pas pour moi sur la dernière version de Microsoft Visual Studio Ultimate 2013 version 12.0.21005.1

Obtention de l'avertissement de validation suivant: L'attribut 'ng-app' n'est pas un attribut valide de l'élément 'html'.
L'attribut 'ng-view' n'est pas un attribut valide de l'élément 'div'.

Me manque-t-il d'une référence xsd quelque part?

52
Henry O

J'ai eu le même problème et j'ai fait ce qui suit et cela a aidé.

Si vous utilisez ReSharper, vous pouvez ajouter une extension qui vous donnera Intellisense, et ne déclenchera pas d'avertissement.

Menu principal dans VS> Resharper> Extension Manager> Rechercher dans AngularJS. Ceci ajoutera angular js intellisense.

------- EDIT -------

Utiliser Resharper 8.2.1 Resharper Menu

enter image description here

65
OmerBTW

Je sais que c'est vieux, mais ça se passait encore pour moi. Pour résoudre ce problème pour VS 2013, suivez ces instructions:

1) Ouvrez le fichier C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\schemas\html\commonHTML5Types.xsd.

2) Recherchez dans le fichier la zone commençant par cette ligne: <xsd:attribute name="translate">. Faites défiler environ 7 lignes vers le bas pour trouver la balise de fermeture correspondante: </xsd:attribute>

3) Juste ci-dessus le </xsd:attributeGroup> tag de fermeture, collez les lignes de code suivantes:

<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" />

Enregistrez le fichier et rouvrez VS2013. Cela devrait résoudre le problème.

20
puargs

J'ai installé http://vswebessentials.com/

créé un fichier nommé _reference.js avec un contenu

/// <autosync enabled="true" />
/// <reference path="angular.js" />
/// <reference path="underscore.js" />

Je l'ai appris de The Story Behind _references.js

17
Xavier John

Si vous utilisez ReSharper, essayez de désactiver ReSharper IntelliSense for HTML.

ReSharper> Options> IntelliSense> Général> Limité ReSharper IntelliSense

Remarques:

  • Cela ne fournit pas AngularJS intellisense dans les fichiers ASP.NET.
  • Vous devez rouvrir les fichiers HTML dans VS après la modification des paramètres
  • La version actuelle de ReSharper est 8.2
9
andersh

Vous pouvez également simplement l'exécuter à partir de la console du gestionnaire de packages dans VS 2013: Install-Package AngularJS.Intellisense.

9

Essayez de cocher Text Editor\HTML\General\Auto list members dans les options.

5
tomashiba

Visual Studio 2013 Update 4 supprime la validation, mais n'inclut pas IntelliSense for AngularJS.

Prise en charge des éléments personnalisés, des éléments polymères et des attributs

Nous ne validons plus les attributateurs inconnus pour les éléments personnalisés, car il y aura de nombreuses balises personnalisées dans différents frameworks. Donc, il n'y aura plus de gribouillis sous les éléments inconnus.

- Annonce de nouvelles fonctionnalités Web dans Visual Studio 2013 Update 4 RC

Télécharger Visual Studio 2013 Update 4 .

La validation n'est supprimée que dans l'éditeur HTML, pas dans l'éditeur HTML (Web Forms). Cela signifie que, par défaut, les fichiers .html n'auront pas de validation d'élément personnalisé, mais les pages .aspx. Si, comme moi, vous pensez que cela n'a aucun sens, montrez votre soutien en votant pour éléments personnalisés dans les fichiers .aspx .

2
jordanbtucker

Courir dans le même problème. Si vous avez ReSharper installé sur VS 2013 comme moi, vous pouvez obtenir l'instellisense en installant le plug-in AngularJS (fourni par JetBrains).

Voici comment procéder:

  1. VS2013> ReSharper> Gérer les extensions.
  2. Recherchez "AngularJS" à l'aide de Nuget en ligne, puis cliquez sur "Installer".

Ce qui précède devrait vous procurer ce dont vous aviez besoin. Au cas où vous auriez besoin d'un guide d'images, voici le lien - http://jeeshenlee.com/2014/07/12/how-to-get-angularjs-intellisense-support-on-resharper/

1
JeeShen Lee

Je sais que ce message est ancien et que la question fait spécifiquement référence à VS 2013, mais si vous êtes toujours en train de courir VS 2010 et que vous souhaitez appliquer la solution de puargs, vous pouvez recherchez le fichier dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\schemas\html\html_5.xsd.

Vous voudrez ajouter le code de puargs dans le <xsd:attributeGroup name="commonHTML5coreAttributeGroup"> section.

Mads Kristensen discute également de [l'application de cette solution à VS 2012] 1 et fournit un lien vers une version mise à jour des commonHTML5Types de 2012. xsd à l'étape 2.

Notez également qu'il manque aux attributs puargs et Mads un attribut sur ng-view qui provoque un "nom d'attribut" doit être suivi d'un signe (=) égal " Attention. L'élément complet est: <xsd:attribute name="ng-view" vs:category="Angular" vs:standalone="true"/>.

1
jtc

Je viens de désactiver le resharper intellisense pour les pages HTML et j'ai angular intellisense de retour sur VS2013

0
Abel Pereira

Je n'ai pas essayé avec vs2013, mais pourrais travailler. Travailler avec vs2012. http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012

0
Berat Bilgin

Vous pouvez également vous débarrasser des avertissements:

http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012

0
Per G