Come si ottiene JavaScript / jQuery Intellisense lavorando in Visual Studio 2008?


92

Pensavo che jQuery Intellisense dovesse essere migliorato con SP1. Ho anche scaricato una versione annotata di jQuery 1.2.6, ma intellisense non funzionerà in un file jscript separato. Ho la libreria jQuery indicata per prima sulla mia pagina Web nel tag <head>. Sto facendo qualcosa di sbagliato?

Risposte:


87

Nella parte superiore del file JavaScript esterno, aggiungi quanto segue:

/// <reference path="jQuery.js"/>

Assicurati che il percorso sia corretto, relativo alla posizione del file nella struttura delle cartelle, ecc.

Inoltre, qualsiasi riferimento deve essere all'inizio del file, prima di qualsiasi altro testo, inclusi i commenti: letteralmente, la prima cosa nel file. Si spera che la versione futura di Visual Studio funzioni indipendentemente da dove si trova nel file, o forse faranno qualcosa di completamente diverso ...

Dopo averlo fatto e salvato il file , premi Ctrl+ Shift+ Jper forzare Visual Studio ad aggiornare Intellisense.


1
Nessun problema, felice di aver potuto aiutare! Il supporto Intellisense per JavaScript ha ancora molta strada da fare, anche con SP1 le cose sono ancora un po 'hacker, credo. Oh beh, almeno stanno facendo qualcosa per aiutare! :)
Jason Bunting

FYI: Ho aggiornato il titolo di questo per riflettere il fatto che questo non è specifico solo per jQuery, poiché in realtà non lo è. Grazie per la domanda!
Jason Bunting,

Inoltre, da notare, assicurati di utilizzare l'attributo PATH anziché il NAME. Ho visto molti esempi con /: /// <reference name = "jQuery.js" /> (SCORRETTO) anziché /// <reference path = "jQuery.js" /> (CORRETTO)
Nathan

Sì - uh, è quello che indica il mio codice. Ho dimenticato qualcosa?
Jason Bunting il

1
shift-control-j forza il ricalcolo dell'intellisense.

15

Esiste un file JavaScript di documentazione jQuery ufficialmente supportato per Visual Studio 2008. Questo file è solo una correzione temporanea fino a quando Microsoft non rilascia un hotfix che risolverà il problema in modo più adeguato.

Incorporato in ASPX:

<% if (false) { %>
    <script src="jquery-1.2.6-vsdoc.js" type="text/javascript"></script>
<% } %>

Incorporato in JavaScript:

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

Raccoglilo qui: jquery-1.2.6-vsdoc.js

Riferimenti :


Questa è l'unica opzione che ha funzionato per me in VS 2010 Ultimate.
Alek Davis

8

Ti consigliamo di guardare questo link:

http://blogs.ipona.com/james/archive/2008/02/15/JQuery-IntelliSense-in-Visual-Studio-2008.aspx

AGGIORNAMENTO: C'è un nuovo HotFix per Visual Studio 2008 e un nuovo file di documentazione jQuery Intellisense che porta jQuery Intellisense completo a VS'08. Di seguito sono riportati i collegamenti per ottenere questi due:

http://blogs.msdn.com/webdevtools/archive/2008/11/07/hotfix-to-enable-vsdoc-js-intellisense-doc-files-is-now-available.aspx

http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx


Se potessi darti 10 voti lo farei. Il file solo intellisense generato a livello di codice a cui si fa riferimento qui cambia jQuery intellisense da quasi inutile a indispensabile. Eccezionale!
Herb Caudill

3

Per JavaScript in linea, utilizza:

/// <percorso di riferimento = "~ \ js \ jquery-vsdoc.js" />

Nota le barre posteriori .

Questo non funzionerà:

/// <percorso di riferimento = "~ / js / jquery-vsdoc.js" />


2

Non dovresti aver bisogno di fare effettivamente riferimento alla versione "-vsdoc". Se metti jquery-1.2.6-vsdoc.js nella stessa directory di jquery-1.2.6.js, Visual Studio saprà come nascondere un riferimento jquery-1.2.6.js a jquery-1.2.6-vsdoc. js.

Penso che funzionerà effettivamente per qualsiasi file.

Hmmm ... questo offre una buona soluzione per un'altra domanda su questo sito ...

Modifica: questa funzione funziona solo con VS2008 Service Pack 1.


Sembra che io personalmente debba mantenere "-vsdoc" nel mio riferimento per farlo funzionare ... Sto usando VS2008 con SP 1. (E sì, questi sono nella stessa directory.) Forse ho bisogno di guardare quelli hotfix suggeriti da Chris Pietschmann, sopra?
Funka

Chris ha ragione. La funzionalità "vsdoc" è stata aggiunta con l'aggiornamento rapido a cui fa riferimento sopra.
Alan Oursland

2

Se stai includendo il file jQuery annotato nella tua sorgente esclusivamente per intellisense, ti consiglio di sfruttare le direttive del preprocessore per rimuoverlo dalla tua vista durante la compilazione. Ala:

<% #if (false) %>
  <!-- This block is here for jquery intellisense only.  It will be removed by the compiler! -->
  <script type="text/javascript" src="Scripts/jquery-1.3.2-vsdoc.js"></script>
<% #endif %>

Quindi più avanti nel codice puoi davvero fare riferimento a jQuery. Ciò è utile quando si utilizza l' API di Google AJAX Libraries , perché si ottengono tutti i vantaggi offerti da Google, oltre a intellisense.

Ecco un esempio di utilizzo dell'API Libraries:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
   google.load("jquery", "1.3.2", { uncompressed: false });
</script>


0

Se vuoi prelevare il file Intellisense dalla CDN di Microsoft puoi usare:

/// <reference path="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1-vsdoc.js" />

0

Assicurati di non utilizzare un file jQuery ridotto a icona.

Usa Ctrl+ Shift+ J per farlo funzionare dopo aver aggiunto file JavaScript al progetto.


Ho lottato per far funzionare l'intellisense finché non ho trovato questo, perché stavo usando la versione minificata e mi chiedevo perché non funzionasse per me.
RKP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.