Domanda

Destra fuori del blocco, questo non è il tuo standard "non riesco a JavaScript IntelliSense per lavorare in Visual Studio." Per la cronaca:

  • Sto usando Visual Studio 2008
  • Ho installato SP 1
  • Ho installato l'aggiornamento rapido per file di documentazione -vsdoc.js KB958502

Sto sviluppando una suite di plugin jQuery interconnesse da confezionare come risorse in una libreria di classi. Quindi all'interno di una directory, ho (come esempio):

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

In Core.js, ho il seguente nella parte superiore del file:

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

Poi, in ciascuno dei plug # .js, ho:

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

L'IntelliSense funziona inizialmente, anche comprese le aggiunte da Core.js quando si lavora nei plugin. Tuttavia, a volte il minimo cambiamento, anche l'aggiunta e la rimozione di uno spazio dai tag XML di riferimento, o premendo Ctrl-Shift-J, i risultati della "Errore temuto l'aggiornamento JScript IntelliSense: lo script lato client le informazioni di IntelliSense non è stato generato a causa di un errore in un riferimento script esterno." Solo che è stato lavorare con quel riferimento script esterno solo un secondo fa!

Per i jquery-vsdoc.js, sto usando Commento versione 1.3.2b (questo è quello che dice nel file) da http://jqueryjs.googlecode.com/files/jquery-1.3.2-vsdoc2.js . Sto omettendo il numero di versione del file in modo che non devo cambiare un sacco di riferimenti quando è inevitabilmente aggiornato.

Quindi, quello che potrebbe essere il problema? Il riavvio di Visual Studio sta dimostrando di essere una soluzione terribilmente poco elegante (e che richiede tempo).

Nessuna soluzione corretta

Altri suggerimenti

Hai provato ad aumentare il timeout IntelliSense?

  

Per impostazione predefinita, ogni richiesta IntelliSense   è consentito solo 15s da eseguire. Questo   è quello di impedire IntelliSense da   script con loop infiniti. Se tu   hanno una grande sceneggiatura o di una macchina più lenta,   può avere senso per aumentare la   limite di timeout. Il valore di timeout   negozio entro seguenti chiavi di registro   (A seconda se si sta usando   Express o il prodotto completo). Il   il valore è espresso in millisecondi in modo da scegliere   qualcosa di più grande di 15000.

     

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

La chiusura e l'apertura del file ripristinato lo stato?

Aprire il task manager e guardare i processi. Vedete un processo chiamato "typelibbuilder.exe" iniziare quando si preme Ctrl-Shift-J?

Sto cercando di immagine che tipo di problemi potrebbe richiedere il riavvio del VS. Il trattamento dei riferimenti (a cui appartiene quel messaggio) è fatto in un nuovo e distinto processo ogni volta che si preme Ctrl-Shift-J (a meno che l'elaborazione è stato disattivato nel qual caso si vedrebbe un messaggio diverso). Sembra quasi la comunicazione tra VS e typelibbuilder o qualche altro componente necessaria sta venendo a mancare.

In SP1, non dovrebbe essere necessario fare riferimento direttamente i file "-vsdoc". Se si fa riferimento a "foo.js" e non v'è un file "pippo-vsdoc.js" accanto ad essa, allora VS userà la versione vsdoc per generare IntelliSense. Dubito che è legato al vostro problema però.

So che questo non è molto di consolazione, ma abbiamo drasticamente migliorare le prestazioni e l'affidabilità dei JavaScript IntelliSense in Visual Studio 2010. Beta1 è attualmente disponibile per gli abbonati MSDN (anche se è beta e ci sono ancora alcuni bug in esso) .

Se è possibile ottenere passi Repro affidabili, si potrebbe anche un bug report a http://connect.microsoft. com / .

Non so se questo vi aiuterà, ma ho incontrato il seguente errore in VS 2008 JS intellisense:

Quando si aggiunge jQuery come riferimento in un file esterno, e poi ho aggiornare JS ottengo:

'XMLHttpRequest è indefinito' sulla linea:

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

Sembra che il motore IntelliSense JS è in realtà l'esecuzione di una parte del codice jQuery (più che probabile di ispezionare in modo che possa fornire qualche informazione in più su di esso). Tuttavia sembra window.ActiveXObject è nullo al motore, e quindi cade nel 'nuovo XMLHttpRequest ()' blocca -. Che fallisce anche

ho inciso una soluzione che rompe tutti i browser tranne IE - quindi non è una buona soluzione. La mia correzione modifica il seguente:

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

Ora i miei lavori IntelliSense.

Si consiglia di disabilitare JavaScript intellisense in Visual Studio.

Una volta installato SP1 è possibile disattivare IntelliSense JavaScript.
Vai su Strumenti, Opzioni ...

La finestra di dialogo Opzioni verranno visualizzati.

Passare alla seguente nodo nel pannello di lato a sinistra:
Editor di testo :: :: JScript generale

Disattivare le seguenti opzioni (nel completamento gruppo Statement):
* Elenco membri automatico
* Informazioni Parametro

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top