web-dev-qa-db-fra.com

Intellisense ne fonctionne pas pour JavaScript dans Visual Studio 2012

J'ai une installation propre et prête à l'emploi de Visual Studio 2012 Web Developer Express et, pour une raison quelconque, le support de JavaScript (jQuery, jQuery UI et d'autres bibliothèques) a disparu. Je crois que cela a fonctionné avant et alors pour "aucune raison" il s'est arrêté.

J'ai navigué sur le Web comme prévu et découvert quatre différences.

  1. Je n'ai pas la clé HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\JavaScriptLanguageService\ImplicitReferences dans mon registre. En fait, je n'ai même pas le répertoire JavaScriptLanguageService.

  2. J'ai vérifié que le fichier référencé domWindows.js était bien celui où les options pointaient.

  3. La fenêtre de sortie sous JavaScriptLanguageService est vide et rien n’y est saisi pendant le développement et l’exécution de mon application.

  4. J'ai fait référence au fichier jQuery que j'utilise par le biais des options, mais il n'a produit aucun changement.

Globalement, le message d'erreur suivant s'affiche:

"intellisense n'a pas pu déterminer une liste de complétion précise pour cette expression. La liste fournie contient tous les identifiants du fichier"

Toute suggestion serait chaleureusement appréciée.

68
Konrad Viltersten

Félicitations à CraigTP

Sommaire:

  1. accédez aux [Outils]> [Options]> Éditeur de texte> JavaScript> IntelliSense> Options de références

  2. sélectionnez implicite (Web)

    vous pouvez trouver "~/Scripts/_references.js" (si vous voulez le mettre à un endroit différent, changez-le ici)

  3. allez dans ~/Scripts et ajoutez le nouvel item "_references.js"

  4. ajouter /// <reference path="path\jquery-1.7.1.js" /> dans "_references.js"

    ou /// <reference path="~\root\path\jquery-1.7.1.js" />

Bonne codage :)

Note éditée:

N'oubliez pas de placer jquery-1.7.1-vsdoc.js dans le même dossier que jquery-1.7.1.js

Après avoir apporté les modifications mentionnées ci-dessus, si cela ne fonctionne toujours pas, essayez de redémarrer Visual Studio.

123
maxisam

Aller au menu Outils -> Options -> Éditeur de texte -> JavaScript -> Intellisense -> Références et placez une référence aux fichiers intellisense de la version de jQuery que vous utilisez dans le Web implicite groupe.

Enter image description here

OR

placez une "référence add" au fichier intellisense dans le fichier _references.js que vous pouvez ajouter au dossier Scripts de votre projet.

/// <reference path="jquery-1.8.2.js"/>
/// <reference path="jquery-1.8.2.min.js"/>
/// <reference path="jquery-1.8.2.intellisense.js"/>

Bien que cela fournisse seulement intellisense pour le projet dans lequel vous vous trouvez, le premier sera pour tout fichier JavaScript ouvert, et pas uniquement ceux du projet dans lequel vous vous trouvez.

Pour obtenir les derniers fichiers jQuery avec intellisense, utilisez le programme d’installation NuGet . Ce dernier crée par défaut un dossier de scripts et place les fichiers jQuery version.js, min.js et intellisense.js dans ... là, vous pouvez les copier à l'emplacement où sont placées la plupart des références Microsoft, généralement:

install-package jquery dans la console du gestionnaire de paquets.

C:\Fichiers de programme (x86)\Microsoft Visual Studio 11.0\JavaScript\Références

64
DRobertE

Sommaire:

  1. Faites glisser le .js fichier que vous souhaitez référencer à partir de Explorateur de solutions dans votre fichier actuel. (Visual studio créera un extrait de référence.)
10
James

Essayez de les ajouter à vos références JavaScript implicites. Cela se trouve dans Outils -> Options -> Editeur de texte -> JavaScript -> IntelliSense -> Références.

4
scottheckel

Pour ajouter jQuery et ses fichiers intellisense à un projet/site web actif/ouvert

Dans Visual Studio 2012, procédez comme suit:

Ouvrir le menu Outils -> Gestionnaire de paquets de bibliothèque -> Gérer les packages Nuget pour la solution. Cliquez sur le champ/sélecteur en ligne tout à droite de la boîte de dialogue. Recherchez jQuery dans la liste du milieu, cliquez dessus, puis sur Installer.

Notez que les fichiers de script jQuery sont maintenant insérés dans votre projet en consultant le panneau de l'Explorateur de solutions. Vous devriez voir jquery-1.x.x.js (où x est ce sont des espaces réservés pour les numéros de version réels. Dites jquery-1.9.0.js est un exemple concret).

Notez également qu’il existe maintenant un fichier Jquery-1.9.0.intellisense.js. Neat AI? :-)

Cependant, gardez à l'esprit que si vous créez un nouveau site Web dans Visual Studio et choisissez le site de formulaires Web ASP: NET (par opposition à un site vide), le site de formulaires Web contiendra déjà jQuery 1.7.1.

4
netfed

J'ai inclus jquery-xxx.intellisense.js dans JavaScript -> Intellisense -> Référence. Cela a fonctionné une fois, mais après avoir fermé Visual Studio et l'avoir redémarré, IntelliSense n'a plus fonctionné. Mais j'ai accidentellement appuyé sur le menu Edition -> intellisense -> Actualiser les références distantes. Cela a fonctionné encore. Essayez ça!

3
Hoy Cheung

Utilisez le package de documentation NuGet IntelliSense pour JQuery en l’installant ainsi à partir de la console NuGet:

Install-Package jQuery-vsdoc

Après avoir installé le paquet, allez à:

Tools>>Options>>Text Editor>>JavaScript>>Intellisense>>References

et Ajoutez une référence au groupe Implicit(Web) en sélectionnant l'emplacement du paquet installé sur votre disque dur.

redémarrez Visual Studio et vous obtiendrez le travail de jQuery intellisense.

3
Ashraf Abusada

Ce qui a fini par travailler pour moi a été de réorganiser la liste dans _references.js. J'avais presque 150 lignes là-dedans à cause d'un tas de plugins importés dans le projet, et jQuery était presque en bas. Lorsque j'ai déplacé sa référence vers le haut, mon intellisense a recommencé à fonctionner.

À quoi il ressemble:

/// <autosync enabled="true" />
/// <reference path="jquery-2.1.3.js" />
/// <reference path="jquery-ui-1.11.2.js" />
/// <reference path="modernizr-2.8.3.js" />
... more reference lines

Notez que la référence est faite au fichier jquery- {version} .js. Il existe également un fichier installé avec le package Nuget dans le même répertoire que jquery- {version} .intelliense.js, qui, je suppose, est ce qui est utilisé. J'espère que ça t'as aidé.

0
Noah Stahl