javascript - node - El depurador de scripts de Visual Studio 2010 no funciona para mí
visual studio code para javascript (8)
Acabo de instalar VS 2010 Beta 2 y quería jugar con un proyecto ASP.NET MVC 2. Simplemente agregué algunas secuencias de comandos ( alert(''hello'');
) en la vista index.aspx del controlador doméstico, y puedo ver que se está ejecutando. Cuando intento establecer un punto de interrupción, sin embargo, nunca se golpea. También traté de usar la palabra clave "depurador", y cuando lo hago, aparece un mensaje decepcionante de "no hay código fuente disponible para la ubicación actual". También recibo este mensaje cuando trato de adjuntar de forma independiente a un proceso de IE donde se está ejecutando mi aplicación.
¿Qué debo hacer para obtener una experiencia amigable de depuración de scripts? (He utilizado satisfactoriamente Firebug para depurar esto, pero por alguna razón prefiero el depurador VS).
Aquí hay algunos detalles de mi configuración:
- Estoy lanzando mis cosas en VS 2010 Beta 2.
- IE8 versión 8.0.7600.16385 es mi navegador predeterminado.
- La opción avanzada "Deshabilitar la depuración de scripts (Internet Explorer)" está desmarcada.
- La opción "Deshabilitar la depuración de scripts (Otro)" está desmarcada.
- En la pestaña de propiedades "web" de mi proyecto ASP.NET MVC 2, se comprueba el depurador de ASP.NET. Todos los demás están sin marcar.
- La depuración de scripts de Visual Studio 2008 parece funcionar bien.
CTRL + Alt + P (Adjuntar a proceso), seleccione IE, seleccione ''script'' para el tipo de depuración.
Como Ryan mencionó anteriormente, moví mi script a un archivo separado en la carpeta Scripts. También agregué depuración en el nombre del script para que se convirtiera en MyTestScript. depurar .js Incluí el script a través de una etiqueta de script y pude establecer puntos de corte en el archivo de script que acertó al depurador.
Cuando se depura en IE, VS parece agregar una carpeta llamada ''Documentos de secuencias de comandos'' al Explorador de soluciones. Dentro de esta carpeta hay otra carpeta llamada ''Windows Internet Explorer'', y dentro de ella veo todas las secuencias de comandos js cargadas y el archivo HTML (compilado) que se muestra actualmente en IE. Establecer puntos de interrupción en las etiquetas de script en este archivo HTML funciona para mí.
Descubrí que la herramienta devloper de Google Chrome muestra el JavaScript a la perfección. En mi caso, normalmente estoy cargando el script con la función getScript de jQuery y la ejecución del código suele ser mediante una devolución de llamada de jQuery al cargar una página o al manejar un evento. Con Visual Studio 2010, con frecuencia me encontré con el error "Sin fuente". Triste, necesito Chrome para depurar JavaScript que es parte de mi proyecto de Visual Studio.
El depurador no puede depurar el código de Silverlight y el código de Script al mismo tiempo; si se selecciona el depurador de Silverlight, la depuración de JavaScript está desactivada.
- Vaya a Propiedades del proyecto (Alt + Enter).
- Para un proyecto de sitio web: seleccione "Opciones de inicio". O para una aplicación web: vaya a la pestaña Web y en la parte inferior verá la opción Depuradores.
- Compruebe que la casilla de verificación de Silverlight NO esté marcada si desea poder depurar JavaScript. (Es lamentable que la IU aquí no sea clara acerca de este efecto secundario).
Estaba teniendo los mismos problemas. No pude hacer que el IDE incluso se rompa en un punto de interrupción dentro de una etiqueta de script. Sin embargo, cuando agregué "depurador"; como la primera línea en la etiqueta del script pudo hacer que el IDE respondiera, pero solo para decir que el desastre no estaba disponible.
Sin embargo, pude hacer clic en las herramientas de depuración como "paso hacia adentro" y "paso sobre". Cuando hice esto, el IDE avanzó en algunos de los scripts externos que estoy usando (JQuery y Google Maps). Así que saqué el bloque de código JavaScript de la vista y lo puse en un archivo .js separado en la carpeta "Contenido". Luego agregué una etiqueta de script para hacer referencia a este nuevo archivo .js (url = "/Content/Test.js").
Funcionó ... un poco molesto que tienes que pasar por este esfuerzo, pero tal vez hay algo que decir para JavaScript no se incluye directamente en una vista. Espero que este sea un error que pretenden solucionar.
Para resolver esto, vaya a Propiedades del proyecto y seleccione "Opciones de inicio". Luego marque la casilla de verificación Código nativo. y desmarque la casilla de verificación de Silverlight porque ambas opciones no funcionan juntas.
Usar un archivo js separado tiene sus inconvenientes. Por ejemplo, no puedes usar helpers MVC. Microsoft realmente necesita resolver esto.
Intellisense tampoco funciona correctamente en bloques de script en una vista, incluso si incluye los comentarios de referencia como este:
/// <reference path="/Scripts/jquery-1.6-vsdoc.js" />
/// <reference path="/Scripts/jquery-1.6.js" />
Sin embargo, Intellisense funciona bien en el archivo js con este enfoque.