Frage

Rechts von der Fledermaus, das ist nicht Ihr Standard „Ich kann kein Javascript IntelliSense bekommen in Visual Studio zu arbeiten.“ Für das Protokoll:

  • Ich bin mit Visual Studio 2008
  • Ich habe SP 1 installiert
  • Ich habe den Hotfix für -vsdoc.js Dokumentationsdateien installiert KB958502

ich eine Reihe von miteinander verbundenen jQuery Plugins entwickle als Ressourcen in einer Klassenbibliothek zu verpackenden. Also in einem Verzeichnis, habe ich (als Beispiel):

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

In core.js, ich habe folgend am Anfang der Datei:

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

Dann in jedem des Stecker # Js, ich habe:

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

Die IntelliSense funktioniert zunächst auch die Zugänge aus core.js auch wenn in dem Plugins arbeiten. Aber manchmal die geringste Veränderung, auch das Hinzufügen und einen Raum von den Referenz XML-Tags oder durch Drücken von Strg-Umschalt-J, die Ergebnisse in der gefürchteten „Fehler beim Entfernen der Aktualisierung JScript IntelliSense: Client-seitiges Script IntelliSense Informationen nicht generiert wurde aufgrund eines Fehlers in einer externen Skript Referenz.“ Außer es war die Arbeit mit diesem externen Skriptverweis nur eine Sekunde vor!

Für die Jquery-vsdoc.js, I Kommentar Version 1.3.2b verwenden (das ist, was er sagt, in der Datei) von http://jqueryjs.googlecode.com/files/jquery-1.3.2-vsdoc2.js . Ich bin die Versionsnummer aus der Datei weggelassen, so dass ich muß nicht ein Bündel von Artikeln ändern, wenn es zwangsläufig aktualisiert wird.

Also, was könnte das Problem sein? Neustarten von Visual Studio erweist sich als schrecklich unelegant (und zeitaufwendig) Abhilfe sein.

Keine korrekte Lösung

Andere Tipps

Haben Sie den IntelliSense Timeout versucht, zu erhöhen?

  

In der Standardeinstellung alle IntelliSense Anfrage   nur darf 15s auszuführen. Diese   ist IntelliSense zu verhindern,   Skripte mit Endlosschleifen. Wenn du   hat eine große Skript oder langsame Maschine,   kann es sinnvoll sein, die zu erhöhen   Zeitlimit. Der Timeout-Wert   Speicher innerhalb folgenden Registrierungsschlüssel   (Je nachdem, ob Ihr verwenden   Express oder das vollständige Produkt). Das   Wert ist in Millisekunden so wählen   etwas mehr als 15.000.

     

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

Ist Schließen und Öffnen der Datei den Zustand zurücksetzen?

Öffnen Sie den Task-Manager und die Prozesse beobachten. Sehen Sie einen Prozess „typelibbuilder.exe“ genannt gestartet werden, wenn Sie Ctrl-Shift-J drücken?

Ich versuche, Bild, welche Art von Problemen könnte einen Neustart von VS. erfordern Die Verarbeitung von Referenzen (zu dem die Nachricht gehört) wird in einem neuen und separaten Prozess erfolgt jedes Mal, wenn Sie Ctrl-Shift-J drücken (es sei denn, die Verarbeitung ist in dem Fall, dass Sie eine andere Meldung würden deaktiviert wurde). Es klingt fast wie die Kommunikation zwischen VS und typelibbuilder oder eine andere notwendige Komponente ausfällt.

In SP1, sollten Sie nicht brauchen, um die „-vsdoc“ Dateien direkt zu verweisen. Wenn Sie „foo.js“ verweisen, und es gibt eine „foo-vsdoc.js“ Datei daneben, dann wird VS die vsdoc Version verwenden Intellisense zu erzeugen. Ich bezweifle, dass obwohl für Ihr Problem verwandt ist.

Ich weiß, das nicht viel Trost ist, aber wir haben drastisch Leistung und Zuverlässigkeit von Javascript Intellisense in Visual Studio verbessert 2010 Beta1 auf MSDN-Abonnenten zur Zeit verfügbar ist (obwohl es Beta und es gibt noch einige Bugs in es ist) .

Wenn Sie zuverlässige Repro Schritte bekommen, man könnte auch einen Fehlerbericht an http://connect.microsoft Datei. com / .

Ich weiß nicht, ob dies wird Ihnen helfen, aber ich habe die folgenden Fehler in VS 2008 JS intellisense aufgetreten:

Wenn jQuery als Referenz in einer externen Datei hinzufügen und dann JS Ich aktualisiere ich:

'XmlHttpRequest ist nicht definiert' auf der Linie:

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

Es scheint, wie der JS intellisense Motor tatsächlich einige des jQuery-Code (mehr als wahrscheinlich, um es zu inspizieren, so dass es mehr Informationen darüber zur Verfügung stellen kann) ausführt. Allerdings sieht es aus wie window.ActiveXObject null auf den Motor ist, und so fällt es in die ‚neue XMLHttpRequest ()‘ Block -., Die auch nicht

Ich gehackt eine Abhilfe, die alle Browser außer IE bricht - so keine gute Lösung. Mein Update ändert die folgenden Möglichkeiten:

    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;
    },

Nun mein Intellisense funktioniert.

Sie möchten JavaScript Intellisense in Visual Studio deaktivieren.

Wenn SP1 installiert ist, können Sie JavaScript Intellisense deaktivieren.
Gehen Sie zu Extras, Optionen ...

Der Optionen-Dialog wird angezeigt.

Navigieren Sie zu dem folgenden Knoten in der linken seitigen Platte:
Texteditor :: JScript :: Allgemeines

Deaktivieren Sie die folgenden Optionen (in der Gruppe Statement Completion):
* Auto-Liste Mitglieder
* Parameter Informationen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top