Extensión DevTools

Para facilitar la depuración, Electron provee un soporte básico para la extensión Chrome DevTools Extension.

Para la mayoría de las extensiones devtools, simplemente puedes descargar el código fuente y utilizar BrowserWindow.addDevToolsExtension para cargarlas, las extensiones cargadas serán recordadas para que no sea necesario llamar a la función cada vez que creas una ventana.

Por ejemplo, para usar la extensión React DevTools Extension, primero debes descargar el código fuente:

$ cd /some-directory
$ git clone --recursive https://github.com/facebook/react-devtools.git

Luego cargas la aplicación en Electron, abriendo devtools en cualquier ventana, y ejecutando este código en la consola devtools:

require('remote').require('browser-window').addDevToolsExtension('/some-directory/react-devtools');

Para remover una extensión, puedes utilizar BrowserWindow.removeDevToolsExtension especificando el nombre, y esta ya no se cargará la siguiente vez que abras devtools:

require('remote').require('browser-window').removeDevToolsExtension('React Developer Tools');

Formato de las extensiones devtools

Idealmente todas las extensiones devtools escritas para Chrome pueden ser cargadas por Electron, pero para ello deben estar en un directorio plano, las extensiones empaquetadas como crx no pueden ser cargadas por Chrome a no ser que halles una forma de extraerlas a un directorio.

Páginas en segundo plano (background)

Electron no soporta la característica de páginas en segundo plano de las extensiones de Chrome, las extensiones que utilizan esta característica podrían no funcionar.

APIs chrome.*

Algunas extensiones utilizan las APIs chrome.*, hemos realizado un esfuerzo para implementar esas APIs en Electron, sin embargo no han sido implementadas en su totalidad.

Dado que no todas las funciones chrome.* han sido implementadas, si la extensión devtools está utilizando otras APIs más allá de chrome.devtools.*, es muy probable que no funcione. Puedes reportar fallos en el issue tracker para que podamos agregar soporte a esas APIs.