La forma más rápida de depurar complementos de Firefox durante el desarrollo


Depurar un complemento de Firefox es un proceso lento: (1) editar código fuente en un editor JS (2) paquete en XPI usando un script de compilación (3) arrastrar a Firefox para instalar (4) reiniciar Firefox (5) abrir el depurador de JavaScript

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

Author: Robinicks, 2009-07-03

7 answers

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

En Linux y Mac, eso se verá como:

/full/path/to/yourExtension/

Y en Windows:

C:\full\path\to\yourExtension\

Recuerda la barra final y ten cuidado con espacio en blanco extra.

Mientras no uses archivos jar dentro de tu complemento, ya no tendrás que reconstruir (esto se trata con un poco más de profundidad aquí).

Además, usted querrá establecer nglayout.debug.disable_xul_cache a la verdad. Para las ediciones en archivos xul o js, solo tendrá que abrir una nueva ventana para ver sus cambios en lugar de reiniciar la aplicación. Hay otras preferencias aquí que usted puede encontrar útiles también.

Extra consejos:

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

    "C:\Program Files(x86)\Mozilla Firefox \ firefox.exe " -no-remote-P dev-jsconsole

  • Echa un vistazo al complemento restart (ahorra tiempo).

 48
Author: sdwilsh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-06 19:41:57

Utilizo Netbeans con el complemento Foxbeans para el desarrollo de complementos, solo tienes que pulsar el botón "ejecutar", y firefox se inicia con el complemento instalado (en un perfil de prueba). ¡tal vez deberías probar esto!

 5
Author: bizzy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-02 14:54:52

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 hayas terminado, crea el xpi a partir de los archivos de tu perfil.

 4
Author: Stobor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-03 04:39:56

Http://simplygenius.com/2005/08/debugging-firefox-mozilla-extensions_25.html contiene una buena descripción de la depuración de extensiones FF en venkman

 3
Author: AlexEzh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 23:07:29

Llegó aquí a través de Google - FF nightly 31 tiene nuevas herramientas para la depuración de complementos. Es un envío de Dios. Detalles aquí: https://blog.mozilla.org/addons/2014/04/08/add-on-debugger-now-in-firefox-nightly /

 3
Author: Jonny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-24 07:31:48

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

He utilizado las dos últimas opciones y funciona mucho para mí.

 2
Author: user3526,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:33:54

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

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

También echa un vistazo a esta Código de extensión de depuración en firefox respuesta que menciona las capacidades mejoradas del depurador para extensiones restartless desde Firefox 23.

 1
Author: Gerold Meisinger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:33:54