¿Cómo se consigue que JavaScript / jQuery Intellisense funcione en Visual Studio 2008?

92

Pensé que se suponía que jQuery Intellisense se mejoraría con SP1. Incluso descargué una versión anotada de jQuery 1.2.6, pero intellisense no funcionará en un archivo jscript separado. Primero se hace referencia a la biblioteca jQuery en mi página web en la etiqueta <head>. ¿Estoy haciendo algo mal?

Mark Struzinski
fuente

Respuestas:

87

En la parte superior de su archivo JavaScript externo, agregue lo siguiente:

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

Asegúrese de que la ruta sea correcta, en relación con la posición del archivo en la estructura de carpetas, etc.

Además, cualquier referencia debe estar en la parte superior del archivo, antes que cualquier otro texto, incluidos los comentarios, literalmente, lo primero en el archivo. Con suerte, la versión futura de Visual Studio funcionará independientemente de dónde se encuentre en el archivo, o tal vez hagan algo completamente diferente ...

Una vez que haya hecho eso y guardado el archivo , presione Ctrl+ Shift+ Jpara forzar a Visual Studio a actualizar Intellisense.

Jason Bunting
fuente
1
No hay problema, ¡me alegro de poder ayudar! El soporte de Intellisense para JavaScript tiene un largo camino por recorrer, incluso con SP1, creo que las cosas siguen siendo un poco complicadas. ¡Oh, bueno, al menos están haciendo algo para ayudar! :)
Jason Bunting
FYI: Actualicé el título de esto para reflejar el hecho de que esto no es específico solo de jQuery, ya que realmente no lo es. ¡Gracias por la pregunta!
Jason Bunting
Además, tenga en cuenta, asegúrese de utilizar el atributo PATH en lugar del NAME. He visto muchos ejemplos con /: /// <nombre de referencia = "jQuery.js" /> (INCORRECTO) en lugar de /// <ruta de referencia = "jQuery.js" /> (CORRECTO)
Nathan
Sí, eso es lo que indica mi código. ¿Me he perdido algo?
Jason Bunting
1
shift-control-j forzará a intellisense a recalcular.
15

Existe un archivo JavaScript de documentación jQuery con soporte oficial para Visual Studio 2008. Este archivo es solo una solución provisional hasta que Microsoft publique una revisión que abordará el problema de manera más adecuada.

Integrado en ASPX:

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

Incrustado en JavaScript:

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

Recójalo aquí: jquery-1.2.6-vsdoc.js

Referencias :

JD Courtoy
fuente
Esta es la única opción que me hizo funcionar en VS 2010 Ultimate.
Alek Davis
8

Querrás mirar este enlace:

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

ACTUALIZACIÓN: Hay un nuevo HotFix para Visual Studio 2008 y un nuevo archivo de documentación de jQuery Intellisense que trae jQuery Intellisense completo a VS'08. A continuación se muestran los enlaces para obtener estos dos:

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

Chris Pietschmann
fuente
Si pudiera darle 10 votos, lo haría. El archivo solo intellisense generado mediante programación al que se hace referencia aquí cambia jQuery intellisense de casi inútil a indispensable. ¡Excepcional!
Herb Caudill
3

Para JavaScript en línea, use:

/// <ruta de referencia = "~ \ js \ jquery-vsdoc.js" />

Tenga en cuenta las traseras barras.

Esto no funcionará:

/// <ruta de referencia = "~ / js / jquery-vsdoc.js" />

Peter Mortensen
fuente
2

No debería necesitar hacer referencia a la versión "-vsdoc". Si coloca jquery-1.2.6-vsdoc.js en el mismo directorio que jquery-1.2.6.js, Visual Studio sabrá ocultar una referencia de jquery-1.2.6.js a jquery-1.2.6-vsdoc. js.

Creo que eso realmente funcionará para cualquier archivo.

Hmmm ... eso da una buena solución para otra pregunta en este sitio ...

Editar: esta función solo funciona con VS2008 Service Pack 1.

Alan Oursland
fuente
Parece que personalmente tengo que mantener el "-vsdoc" en mi referencia para que funcione ... Estoy usando VS2008 con SP 1. (Y sí, estos están en el mismo directorio). Tal vez deba mirar esos correcciones sugeridas por Chris Pietschmann, arriba?
Funka
Chris tiene razón. La funcionalidad 'vsdoc' se agregó con la revisión a la que hace referencia arriba.
Alan Oursland
2

Si está incluyendo el archivo jQuery anotado en su fuente únicamente para intellisense, recomiendo aprovechar las directivas del preprocesador para eliminarlo de su vista cuando compile. 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 %>

Luego, más adelante en su código, realmente puede hacer referencia a jQuery. Esto es útil cuando se usa la API de bibliotecas AJAX de Google , porque obtiene todos los beneficios que Google le brinda, además de intellisense.

Aquí hay una muestra del uso de la API de bibliotecas:

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

Si desea obtener el archivo Intellisense de Microsoft CDN, puede usar:

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

Asegúrese de no utilizar un archivo jQuery minimizado.

Use Ctrl+ Shift+ J para que funcione después de agregar archivos JavaScript al proyecto.

roman m
fuente
He estado luchando para que el intellisense funcione hasta que encontré esto, porque estaba usando la versión minificada y me preguntaba por qué no funcionaba para mí.
RKP