2009-07-03 8 views
38

Depurar un complemento de Firefox es un proceso lento: (1) editar código fuente en un paquete JS editor (2) en XPI usando un script de compilación (3) arrastrarlo a Firefox para instalarlo (4) reiniciar Firefox (5) abrir el Depurador de JavaScriptLa forma más rápida de depurar complementos de Firefox durante el desarrollo

¿Podemos acelerar el proceso? ¿Como instalarlo en Firefox sin reiniciar o configurar el script de compilación para instalarlo en Firefox también?

+3

Esta pregunta todavía está recibiendo atención de vez en cuando. Tenga en cuenta que las respuestas aquí son bastante antiguas y no tienen en cuenta el soporte para las extensiones [bootstrapped] (https://developer.mozilla.org/en-US/docs/Extensions/Bootstrapped_extensions) que tienen un proceso de desarrollo ligeramente diferente. – Stobor

+0

^Prefiero decir, asegúrese de mirar las fechas de la respuesta que está mirando actualmente. –

+1

3 opciones: use FF 31, use el complemento de autoinstalador, compilarlo en código. Agregue/edite la respuesta [a continuación] (http://stackoverflow.com/questions/1077719/fastest-way-to-debug-firefox-addons-during-development/24713397#24713397) – user3526

Respuesta

48

Querrá ubicar su profile folder. Una vez que lo encuentre, vaya a la carpeta llamada 'extensiones' y luego ubique la carpeta para el complemento en el que está trabajando. Reemplace esa carpeta con un archivo del mismo nombre (menos .xpi si eso es parte del nombre), y dentro del archivo, coloque la ruta completa a su directorio de origen del complemento.

En Linux y Mac, que se verá como:

/full/path/to/yourExtension/ 

Y en Windows:

C:\full\path\to\yourExtension\ 

Recuerde la barra final y tener cuidado con espacios en blanco extra.

Siempre que no utilice archivos jar dentro de su complemento, ya no tendrá que volver a compilar (this is covered in a bit more depth here).

Además, querrá establecer nglayout.debug.disable_xul_cache en verdadero. Para editar archivos xul o js, ​​solo tendrá que abrir una nueva ventana para ver los cambios en lugar de reiniciar la aplicación. Hay other preferences here que también pueden serle útiles.

consejos adicionales:

  • partida Firefox con un determinado perfil (dev), mientras que otro perfil de Firefox está abierto y con el depurador ya en:

    "C: \ Archivos de programa (x86) \ Mozilla Firefox \ firefox.exe "-no-remote -P dev -jsconsole

  • Consulte el restart addon (ahorra tiempo).

+0

+1 Es bueno saber que no es necesario reiniciar ... – Stobor

+0

Vaya, no tenía idea de 'disable_xul_cache'. Esto hizo mi dia. –

+0

Esto funciona con la apertura de ** nueva ventana **. ¿Hay alguna manera de hacerlo funcionar con la apertura de ** nueva pestaña **? – xralf

4

Necesita los pasos "editar fuente" y "reiniciar Firefox"; no se pueden eliminar del proceso ...

Cuando instala el complemento, el javascript termina en el disco, en su perfil de Firefox. Si lo editas allí y reinicias Firefox, las cosas nuevas se recogerán. Cuando haya terminado, cree el xpi a partir de los archivos en su perfil.

+0

¡Excelente idea! Sabelotodo. –

+1

no necesita el paso 'reiniciar Firefox'. si instala el [complemento de desarrollador de extensión] (http://ted.mielczarek.org/code/mozilla/extensiondev/) hay una opción para 'recargar cromo'. puede agregar su propio pequeño botón a la barra de herramientas para hacerlo (verifique el origen de la extensión). – nikcub

+0

@nikcub: ¡Es un consejo práctico, gracias! – Stobor

5

yo uso Netbeans con el Foxbeans Plugin para el desarrollo complemento, no es suficiente pulsar el botón "Ejecutar", y Firefox se inicia con el complemento instalado (en un perfil de prueba). ¡quizás deberías intentarlo!

3

Vine aquí a través de Google - FF noche 31 tiene nuevas herramientas para la depuración de las agregaciones. Es un dios enviado.Detalles aquí: https://blog.mozilla.org/addons/2014/04/08/add-on-debugger-now-in-firefox-nightly/

+2

Solo una advertencia aquí, y cito textualmente: "Apoyamos la depuración de cualquier complemento sin reinicio, por ahora no se admitirán los complementos de estilo más antiguo". - Dave Townsend (del enlace publicado arriba). –

1

También puede establecer puntos de interrupción dinámicos mediante la palabra clave debugger. Abra la "Caja de herramientas del navegador" para que el depurador se detenga en la línea.

Creo que es bueno porque no tiene que buscar el archivo de origen y la línea después de cada reinicio.

también echar un vistazo a este Debugging extension code in firefox respuesta que mencionar las capacidades de depuración mejoradas para extensiones restartless desde Firefox 23.

2

Para hacer que el desarrollo del complemento más rápido, un objetivo importante es eliminar reinicio de FF para probar cada cambio de código. Tres opciones que se me ocurren:

He utilizado las dos últimas opciones y funciona en gran medida para mí.

Cuestiones relacionadas