¿Cómo uso WebStorm para el Desarrollo de Extensiones de Chrome?


Acabo de comprar WebStorm 5 y hasta ahora he estado disfrutando de sus funciones de inspección. Un problema que he encontrado al desarrollar mi extensión de Chrome es que no reconoce la variable chrome:

Variable o tipo chrome sin resolver

¿Hay alguna forma de agregar la variable chrome al Inspector para que pueda autocompletarse mientras escribo? Supongo que tendría que añadir Chromium como una Biblioteca Externa, pero no estoy seguro de por dónde empezar.

Author: matpie, 2012-12-22

4 answers

Configuración por primera vez

  1. Abrir el diálogo Settings (File > Settings)

  2. Haga clic Languages & Frameworks > Javascript > Libraries

  3. Haga clic Download

  4. Asegúrese de que TypeScript community stubs está seleccionado

  5. Seleccione chrome de la lista (puede encontrarlo rápidamente con solo escribir chrome)

  6. Haga clic Download and Install

  7. Haga clic en OK para cerrar el diálogo de configuración.


Pasos 2-6 ilustrados abajo:

Captura de pantalla de Webstorm


En Proyectos Posteriores

En cualquier proyecto posterior, simplemente:

  1. Abra de nuevo el diálogo Settings (File > Settings)

  2. Haga clic Languages & Frameworks > Javascript > Libraries de nuevo

  3. Comprobar chrome-DefinitelyTyped

  4. Haga clic en OK para cerrar el diálogo.


Los pasos 2-4 se muestran a continuación:

Captura de pantalla de Webstorm

 130
Author: Miscreant,
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-07-30 19:15:52

ACTUALIZAR 2:

Ahora es compatible desde el primer momento, consulte la respuesta completa a continuación.

Biblioteca de descargas

ACTUALIZACIÓN :

Hay un archivo stub más completo que se puede agregar como una biblioteca para obtener la finalización del código. Es parte del proyecto de compilador de Cierre. Descargar chrome_extensions.js .

Vea también la solicitud de característica para WebStorm para agregar esta biblioteca automáticamente desde el IDE.


Usted necesita conseguir el Biblioteca JavaScript para la API de Chrome en algún lugar, o use un stub para obtener la finalización básica.

Biblioteca o un stub se puede configurar en WebStorm.


Encontré los archivos JSON con la Extensión API. Uno puede escribir un script que construirá stubs JS a partir de estos archivos JSON, los stubs pueden parecerse a la versión básica enlazada en GitHub anterior, pero con la generación automática contendrán comentarios casi completos de API y JSDoc para que la documentación como aquí se puede ver directamente en el IDE.

JSON => JavaScript object stubs mapping es bastante sencillo en este caso y escribir este tipo de convertidor no debería tomar más de un día (o varias horas para el codificador experto).

Si alguien sigue adelante y lo implementa, por favor publique el enlace a los resultados aquí.

 38
Author: CrazyCoder,
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-09-24 05:35:23

WebStorm debería algún día aceptar definiciones json directamente para habilitar el autocompletado de las funciones definidas. Mientras tanto, puede utilizar el programa en https://github.com/QuickrWorld/jsgen para convertir los archivos json a js para habilitar el autocompletado de las API de extensión de Chrome.

 2
Author: Amitabh,
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
2013-05-21 13:24:47

Para escribir AppScript, funciones y clases como DriveApp, SpreadsheetApp, hay un plugin en WebStorm o Intellij llamado google-app-script.
El método de instalación es el mismo que el anterior. Por otro lado, debe marcar o abrir el archivo .gs como JavaScript. (Julio de 2017)

 0
Author: Mingzhong,
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-07-01 20:36:02