Visual Studio 2008 jQuery IntelliSense échoue de façon sporadique, le redémarrage des correctifs VS

StackOverflow https://stackoverflow.com/questions/895270

Question

Dès le départ, ce n'est pas votre standard « Je ne peux pas javascript IntelliSense pour travailler dans Visual Studio. » Pour mémoire:

  • J'utilise Visual Studio 2008
  • J'ai installé SP 1
  • J'ai installé le correctif pour les fichiers de documentation -vsdoc.js KB958502

Je développe une série de plugins jQuery liés entre eux à emballer comme des ressources dans une bibliothèque de classes. Donc, dans un répertoire, je (comme exemple):

  • jquery-vsdoc.js
  • core.js
  • plug1.js
  • plug2.js

Dans core.js, je le suivant en haut du fichier:

/// <reference path="jquery-vsdoc.js" />

Ensuite, dans chacun des modules # .js, je:

/// <reference path="jquery-vsdoc.js" />
/// <reference path="core.js" />

Le IntelliSense fonctionne d'abord, même les ajouts de y compris core.js lorsque vous travaillez dans les plug-ins. Cependant, parfois le moindre changement, même l'ajout et la suppression d'un espace des balises XML de référence, ou en appuyant sur Ctrl-Shift-J, les résultats du redoutée « Erreur de mise à jour JScript IntelliSense: script côté client IntelliSense informations n'a pas été généré en raison d'une erreur dans une référence de script externe « . Sauf qu'il travaillait avec cette référence de script externe juste il y a une seconde!

Pour les jquery-vsdoc.js, j'utilise 1.3.2b Version Commentaire (c'est ce qu'il dit dans le fichier) http://jqueryjs.googlecode.com/files/jquery-1.3.2-vsdoc2.js . J'omets le numéro de version du fichier afin que je ne dois pas changer un tas de références quand il est forcément mis à jour.

Alors, quel pourrait être le problème? Visual Studio est Redémarrage révèle être un horriblement inélégante (et de temps) solution de contournement.

Pas de solution correcte

Autres conseils

Avez-vous essayé d'augmenter le délai IntelliSense?

  

Par défaut, chaque demande IntelliSense   n'est autorisé à exécuter 15s. Cette   est d'empêcher IntelliSense   scripts avec des boucles infinies. Si vous   un grand script ou machine plus lente,   il peut être judicieux d'augmenter la   limite de délai d'attente. La valeur de délai d'attente   magasin dans les clés de registre suivantes   (Selon le cas que vous utilisez   Express ou le produit complet). le   valeur est en millisecondes afin de choisir   quelque chose de supérieur à 15 000.

     

HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 9.0 \ HTML   Editor \ JsFailsafeTimeout   HKEY_CURRENT_USER \ Software \ Microsoft \ VWDExpress \ 9.0 \ HTML   Editor \ JsFailsafeTimeout

Ne fermeture et l'ouverture du fichier réinitialiser l'état?

Ouvrez le gestionnaire de tâches et de regarder les processus. Voyez-vous un processus appelé « typelibbuilder.exe » démarrer lorsque vous appuyez sur Ctrl-Shift-J?

Je suis en train de l'image quel genre de problèmes peut nécessiter un redémarrage de VS. Le traitement des références (à laquelle ce message se rapporte) se fait dans un nouveau processus distinct chaque fois que vous appuyez sur Ctrl-Shift-J (à moins que le traitement a été désactivée dans ce cas, vous verriez un message différent). Il ressemble presque à la communication entre VS et typelibbuilder ou un autre composant nécessaire est un échec.

Dans le Service Pack 1, vous ne devriez pas avoir besoin de référencer les fichiers « -vsdoc » directement. Si vous faites référence à « foo.js » et il y a un fichier « toto-vsdoc.js » à côté, puis VS utilisera la version vsdoc pour générer IntelliSense. Je doute que ce soit lié à votre problème cependant.

Je sais que ce n'est pas une grande consolation, mais nous avons considérablement amélioré les performances et la fiabilité de Javascript IntelliSense dans Visual Studio 2010. beta1 est actuellement disponible pour les abonnés MSDN (bien qu'il soit bêta et il y a encore quelques bugs dedans) .

Si vous pouvez obtenir des mesures fiables Repro, vous pourriez aussi déposer un rapport de bogue à http://connect.microsoft. com / .

Je ne sais pas si cela vous aidera, mais je l'ai rencontré le bug suivant dans VS 2008 JS IntelliSense:

Lors de l'ajout jQuery comme référence dans un fichier externe, puis-je mettre à jour je reçois JS:

'XMLHttpRequest est indéfini' sur la ligne:

return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

Il semble que le moteur JS IntelliSense exécute en fait une partie du code jQuery (plus que probable de l'inspecter afin qu'il puisse fournir un peu plus d'informations à ce sujet). Cependant, il ressemble à window.ActiveXObject est nulle au moteur, et il tombe dans le bloc « new XMLHttpRequest () » -. Qui échoue également

Je piraté une solution de contournement qui casse tous les navigateurs sauf IE - donc pas une bonne solution. Mon correctif modifie les éléments suivants:

    xhr: function()
    {
        // hack to fix VS 2008 intellisense... note this breaks any browser
        // except IE
        var objXhr = { open: function() { },
            setRequestHeader: function() { } 
        };

        return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : objXhr;
    },

Maintenant, mes œuvres intellisense.

Vous pouvez désactiver JavaScript IntelliSense dans Visual Studio.

Lorsque SP1 est installé, vous pouvez désactiver IntelliSense JavaScript.
Allez dans Outils, Options ...

La boîte de dialogue Options sera affiché.

Accédez au noeud suivant dans la main gauche panneau verso:
Text Editor :: JScript :: Général

Désactiver les options suivantes (dans le groupe Déclaration d'achèvement):
* Les membres de la liste automatique
* Les informations sur Paramètre

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top