jquery visual-studio vsdoc

jQuery 1.4.2 VSDoc



visual-studio (15)

¿Dónde puedo obtener el VSDoc para jQuery 1.4.2?


Además de cambiar el nombre del archivo VSDoc (1.4.1), es posible que también tenga que cambiar el número de versión de jQuery utilizado en el archivo 1.4.1-vsdoc.js a 1.4.2.

Ver la línea # 224,

// The current version of jQuery being used jquery: "1.4.2",


Al usar jQuery 1.4.4 y el vsdoc de http://appendto.com/community/vsdoc (así como la solución para la línea ~ 1750), puedo actualizar mi Intellisense sin error; Sin embargo, cada vez que escribo:

PS

No solo no obtengo ningún Intelliprompts relevante, sino que veo:

JavaScript Intellisense Mensaje: JSIntellisense: Interno / (3: 4): Objeto requerido

Esto hace referencia a la primera función en mi archivo .js:

; (función ($) {$ .fn.MobileFunction = función (opciones) {

//My Function };

}) (jQuery);

Tengo una advertencia: "Expresión esperada" en el primer cierre de paren en}) (jQuery); pero no puedo encontrar un error de sintaxis en el código. Incluso con la función completa comentada, Intellisense no produce salida.



Esta página contiene una lista de archivos vsdoc en CDN de Microsoft

asp.net/ajaxlibrary/cdn.ashx

simplemente busca vsdoc y lo encontrarás :)

en este momento no está en la página de descarga de jquery oficial


FWIW, puede generar para jQuery versiones 1.4.2 y superiores utilizando la herramienta en línea alojada en http://damianedwards.com/vsdoc

Además, los paquetes jQuery en NuGet contienen archivos vsdoc generados con esta herramienta.

Esta herramienta realmente raspa la documentación oficial de la API de api.jquery.com y la combina con el objeto jQuery real en la memoria (del navegador), en lugar de intentar realizar una fusión de fuentes. No es 100% perfecto, pero está muy cerca (mucho más cerca que el enfoque anterior).

Además, a juzgar por algunas de las respuestas y comentarios aquí, algunas personas en realidad hacen referencia al archivo vsdoc desde sus páginas web. No hagas esto. El archivo vsdoc está diseñado específicamente para dar servicio a Visual Studio IntelliSense y no funcionará correctamente en el navegador. Simplemente haga referencia al archivo jQuery real (o la versión .min) y Visual Studio buscará automáticamente la versión del archivo .vsdoc (incluido si hace referencia a él desde un CDN).


John T dijo:

Por lo que vale, y de esta pregunta:

jQuery 1.4.3 vsdoc

Alguien ha actualizado el jQuery vsdoc para JQuery 1.4.3. Está en:

http://appendto.com/community/vsdoc

@John T: Gracias por los enlaces!

Para los usuarios del archivo VSDOC v1.4.4 que se proporciona aquí, hay un pequeño error que rompe IntelliSense; en la línea 1751 el archivo lee:

jQuery.proxy = function(function, context){

Esto hace que Visual Studio muestre el siguiente error:

Error updating JScript IntelliSense: <your path>/jquery-1.4.4-vsdoc.js: Expected identifier @ 1750:24 (o lo suficientemente cerca).

Actualizar esta línea para leer:

jQuery.proxy = function(method, context){

Este error fue encontrado y resuelto en VS2008.


Los aventureros pueden agregar las siguientes líneas a partir de 2949:

delegate: function( selector, types, data, fn ) { /// <summary> /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. See also "live". /// </summary> /// <param name="selector" type="String"> /// An expression to search with. /// </param> /// <param name="types" type="String"> /// A string containing a JavaScript event type, such as "click" or "keydown". /// </param> /// <param name="data" type="Object"> /// A map of data that will be passed to the event handler. /// </param> /// <param name="fn" type="Function"> /// A function to execute at the time the event is triggered. /// </param> return this.live( types, data, fn, selector ); }, undelegate: function( selector, types, fn ) { /// <summary> /// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. See also "die". /// </summary> /// <param name="selector" type="String"> /// An expression to search with. /// </param> /// <param name="types" type="String"> /// A string containing a JavaScript event type, such as "click" or "keydown". /// </param> /// <param name="data" type="Object"> /// A map of data that will be passed to the event handler. /// </param> /// <param name="fn" type="Function"> /// A function to execute at the time the event is triggered. /// </param> if ( arguments.length === 0 ) { return this.unbind( "live" ); } else { return this.die( types, null, fn, selector ); } },

Esa documentación se extrae prácticamente de las páginas web de jQuery y de las definiciones actuales de "en vivo" y "morir", pero siéntase libre de ajustar según lo considere oportuno.

Además, en la línea 224:

// The current version of jQuery being used jquery: "1.4.2",




Por el momento, siempre se puede simplemente cambiar el nombre de "jquery-1.4.1-vsdoc.js" a "jquery-1.4.2-vsdoc.js" y cuando se lance la nueva versión vsdoc, simplemente reemplácela.

Nota: Luego tuve que modificar la ruta de origen del script y luego volver a cambiarla para forzar que vs recoja el vsdoc. Acabo de agregar una barra diagonal al inicio del valor del atributo src y luego lo eliminé.





Solo una nota sobre la respuesta de Herb. La línea 2940, para mí de todos modos, estaba en el medio del método ''disparador''. Inserté el código después de 2949. Además, ya que me tomó aproximadamente 45 minutos descubrir por qué los comentarios no funcionaban para esas dos nuevas rutinas, ¡las etiquetas de "resumen" tienen demasiadas "m" en ellas!

Aquí está la versión corregida:

delegate: function(selector, types, data, fn) { /// <summary> /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. See also "live". /// </summary> /// <param name="types" type="String"> /// A string containing a JavaScript event type, such as "click" or "keydown". /// </param> /// <param name="data" type="Object"> /// A map of data that will be passed to the event handler. /// </param> /// <param name="fn" type="Function"> /// A function to execute at the time the event is triggered. /// </param> /// <param name="selector" type="String"> /// An expression to search with. /// </param> return this.live(types, data, fn, selector); }, undelegate: function(selector, types, fn) { /// <summary> /// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. See also "die". /// </summary> /// <param name="selector" type="String"> /// An expression to search with. /// </param> /// <param name="types" type="String"> /// A string containing a JavaScript event type, such as "click" or "keydown". /// </param> /// <param name="fn" type="Function"> /// A function to execute at the time the event is triggered. /// </param> if (arguments.length === 0) { return this.unbind("live"); } else { return this.die(types, null, fn, selector); } },