Come si utilizza WebStorm per lo sviluppo di estensioni di Chrome?


104

Ho appena acquistato WebStorm 5 e finora mi sono davvero divertito con le sue funzionalità di ispezione. Un intoppo in cui mi sono imbattuto durante lo sviluppo della mia estensione per Chrome è che non riconosce la chromevariabile:

Variabile non risolta o tipo chrome

C'è un modo per aggiungere la chromevariabile all'Inspector in modo che possa essere completata automaticamente durante la digitazione? Immagino che dovrei aggiungere Chromium come libreria esterna, ma non sono sicuro da dove iniziare.

Risposte:


215

Prima installazione

  1. Apri la Settingsfinestra di dialogo ( File> Settings)

  2. Clicca Languages & Frameworks> Javascript>Libraries

  3. Clic Download

  4. Assicurati che TypeScript community stubssia selezionato

  5. Seleziona chromedall'elenco (puoi trovarlo rapidamente semplicemente digitando chrome)

  6. Clic Download and Install

  7. Fare clic OKper chiudere la finestra di dialogo Impostazioni.


I passaggi 2-6 illustrati di seguito:

Screenshot di Webstorm


Nei progetti successivi

In qualsiasi progetto successivo, devi solo:

  1. Apri di Settingsnuovo la finestra di dialogo ( File> Settings)

  2. Fare clic su Languages & Frameworks> Javascript> Librariesnuovo

  3. Dai un'occhiata chrome-DefinitelyTyped

  4. Fare clic OKper chiudere la finestra di dialogo.


Passaggi 2-4 mostrati di seguito:

Screenshot di Webstorm


3
Funziona altrettanto bene in Intellij
Oskar Ferm

2
È necessaria una risposta aggiornata poiché IntelliJ IDEA 2017.1 non mostra "chrome" in "TypeScript community stub". Qualche idea su come aggiungerlo?
Reem

1
Si è scoperto essere un bug in IntelliJ IDEA 2017.1 youtrack.jetbrains.com/issue/WEB-26160#u=1490671035044
Reem

1
Su Mac, il nome non è l'impostazione ma la preferenza. Ma puoi accedervi utilizzandocommand+,
Ulysse BN

4
Dovrebbe probabilmente essere notato che WebStorm dovrà essere riavviato.
Tyler Crompton

42

AGGIORNAMENTO 2 :

Ora è supportato immediatamente, vedere la risposta completa di seguito .

Scarica la libreria

AGGIORNAMENTO :

Esiste un file stub più completo che può essere aggiunto come libreria per ottenere il completamento del codice. Fa parte del progetto Closure Compiler. Scarica chrome_extensions.js .

Vedere anche la richiesta di funzionalità per WebStorm per aggiungere automaticamente questa libreria dall'IDE.


È necessario ottenere la libreria JavaScript per l'API di Chrome da qualche parte o utilizzare uno stub per ottenere il completamento di base .

La libreria o uno stub possono essere configurati in WebStorm .


Ho trovato i file JSON con l'estensione API . Si può scrivere uno script che creerà stub JS da questi file JSON, gli stub possono assomigliare alla versione base collegata su GitHub sopra, ma con la generazione automatica conterranno commenti API e JSDoc quasi completi in modo che la documentazione come qui possa essere visualizzata direttamente nell'IDE.

JSON => La mappatura degli stub degli oggetti JavaScript è piuttosto semplice in questo caso e la scrittura di questo tipo di convertitore non dovrebbe richiedere più di un giorno (o diverse ore per il programmatore esperto).

Se qualcuno va avanti e lo implementa, inserisci qui il link ai risultati.


Grazie, questa idea mi piace di più. In realtà ho finito per clonare il Chromium Git Repo e ho aggiunto la cartella /chrome/renderer/resources/extensionsche mi ha dato la maggior parte di ciò che volevo per l'ispezione.
matpie

sirlancelot - non funziona per me ... puoi pubblicare qui uno snipper che ha il completamento automatico dopo aver aggiunto questa directory come libreria a WebStorm (o IntelliJ)?
Michal Bernhard

2
Ho scaricato Chrome Extension ma per eliminare l' Unresolved variableavviso in WebStorm, ho dovuto aggiungere la seguente riga a chrome_extension.js: var chrome = {}e includerla come libreria nel mio progetto.
MK Safi

C'è anche un file vsdoc abbastanza recente (dicembre 2013) su code.google.com/p/chrome-api-vsdoc . Ha descrizioni di oggetti, metodi e parametri (che questa versione di TypeScript manca). Le descrizioni sono un po 'alterate se visualizzate con Ctrl-Q a causa del fatto che vsdoc utilizza XML per le annotazioni dei documenti, ma comunque leggibili e utilizzabili. Basta aggiungere il vsdoc scaricato come libreria JS personalizzata in Webstorm.
Boris B.

2

Un giorno WebStorm dovrebbe accettare direttamente le definizioni json per abilitare il completamento automatico per le funzioni definite. Nel frattempo, puoi utilizzare il programma su https://github.com/QuickrWorld/jsgen per convertire i file json in js per abilitare il completamento automatico per le API dell'estensione Chrome.


1

Per scrivere AppScript, funzioni e classi come DriveApp , SpreadsheetApp , c'è un plugin in WebStorm o Intellij chiamato google-app-script.
Il metodo di installazione è lo stesso di sopra. D'altra parte, dovresti contrassegnare o aprire il file .gs come JavaScript. (Luglio 2017)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.