Come posso fare in modo che WebStorm riconosca i metodi Jasmine?


135

Ho un progetto node.js che contiene alcune specifiche di Jasmine . Le specifiche sono in una sottodirectory spec e hanno l'estensione .spec.coffee, come richiesto dal nodo jasmine .

Quando ho aperto uno dei miei file spec nel WebStorm IDE, tutte le chiamate a beforeEache describee itsono indicati con blu sottolinea ondulata con il tooltip: "Funzione non risolti o il metodo esso ()". Quindi, anche se sto usando l' EAP 3.0 e si suppone che abbia una certa quantità di supporto per Jasmine , non si accorge automaticamente che si tratta di un file di specifiche Jasmine.

Ho provato ad andare in File> Impostazioni> Librerie JavaScript e ad aggiungere Jasmine come libreria (specificando il percorso di jasmine-2.0.0.rc1.js), quindi andando nella sottoscheda Usage Scope e controllando "Jasmine" nella elenco a discesa accanto a "Progetto", ma ciò non ha avuto alcun effetto: i metodi Jasmine vengono comunque visualizzati come non risolti.

Come posso dire a WebStorm che tutti i file in una sottodirectory spec, e / o tutti i file con estensione .spec.coffee, sono test Jasmine e riconoscono che le API Jasmine utilizzate da questi test?


Ho lo stesso problema in 3.0 EAP. Questo è il motivo per cui sto lavorando in 2.1.5.
— Microfed

Dovresti inviarlo come problema su youtrack.jetbrains.net/issues/WI in modo che gli sviluppatori possano affrontare tali casi nelle versioni future.
— CrazyCoder,

@Microfed, quindi stai dicendo che 2.1.5 riconosce automaticamente i test Jasmine? È un bug già scritto?
— Joe White,

Risposte:


238

È possibile utilizzare gli stub di libreria JS predefiniti in Webstorm / PHPStorm / Idea

  • Apri file> Impostazioni ...
  • Seleziona Lingue e frame > JavaScript> Librerie
  • Clicca su Scarica ...

Impostazioni della libreria JavaScript

  • Passa agli stub della comunità TypeScript
  • Trova karma-jasmine (originariamente sotto il nome jasmine ) (Se non funziona, prova invece il gelsomino )
  • Fai clic su Scarica e installa

inserisci qui la descrizione dell'immagine

Sto usando questa configurazione con Jasmine 2.0


2
si chiama karma-gelsomino, l'hanno cambiato solo per aiutarci a trovarlo
— Andrzej Rehmann,

7
Non funziona per me. "descrivi", "prima di ogni", "esso" appare ancora con una sottolineatura grigia.
— BuildTester1

36
Se non stai usando il karma, puoi semplicemente scegliere la libreria "jasmine" per il download. Questo è ciò che ha funzionato per me dopo aver provato il karma-gelsomino
— Doug Seelinger,

22
Anche se sto usando il karma, ho dovuto scaricare solo il gelsomino per farlo funzionare. karma-jasmine non ha funzionato.
— Didier L

3
Ultimo passo - riavvia IDE
— Sava Jcript il

30

Su un mac con webstorm 2016.1.1 ho fatto quanto segue:

  1. Apri Preferenze (webstorm-> preferenza o [comando +,])
  2. Vai a librerie e framework -> javascript -> librerie
  3. Scarica
  4. seleziona 'jasmine - DefinitelyTyped' dall'elenco

Supporto per Jasmine aggiunto al webstorm


4
Ha funzionato per me su Mac, ma avevo bisogno di chiudere e riavviare WebStorm.
— Jim,

Ho scaricato la jasminelibreria utilizzando IntelliJ 2016.3 su un computer Windows e ha funzionato, anche senza riavviare.
— Jelle,

Ho anche dovuto cambiare il "Tipo" da Globale a Progetto. Fare doppio clic sul nome della libreria dopo averlo installato, quindi modificare l'impostazione "Visibilità"
— providencemac

6

Nota, se si utilizza uno strumento di qualità del codice come JSHint con WebStorm, l'aggiunta della libreria globale jasmin / karma-jasmine non ha eliminato gli errori JSHint.

È necessario accedere alle impostazioni di JSHint tramite il sistema di menu di WebStorm (Lang & Frameworks> JavaScript> Strumenti per la qualità del codice> JSHint) e fare clic sulla casella di controllo per consentirgli di sapere in quale ambiente è in esecuzione.

J Impostazione di suggerimento


Jasmine non è presente nei miei ambienti. Come è apparso nel tuo?
— Aseem Bansal,

@AseemBansal quale versione di jshint stai usando?
— prasanthv,

Sto usando la versione 2.5.10
— Aseem Bansal del

4

Utilizzando TypeScript (e Angular2) devi solo abilitare il compilatore TypeScript nelle Impostazioni WebStorm ...

Impostazioni> Lingue e impostazioni> TypeScript ...

Sotto l'intestazione del compilatore spuntare ...

Abilita compilatore TypeScript ...

(Ho anche cliccato sull'uso radio tsconfig.json)

I metodi di gelsomino saranno ora riconosciuti


Il problema con questa soluzione è che non voglio WebStormcompilare il mio TypeScriptpoiché sto usando Webpack.
— theblang

È interessante notare che se realizzo new projectun Angular CLIprogetto, allora li riconosce. Non sono sicuro di cosa sia diverso.
— theblang

Uso gulp per trascrivere il mio TypeScript, se imposti correttamente tsconfig.json, TypeScript NON genererà i file di output, ma li convaliderà nell'IDE.
— danday74,

Ha funzionato per me. Non dimenticare di selezionare tsconfig.json
— Michael Kornelakis il

Questo ha funzionato quasi senza errori per me. Tuttavia, quando lo faccio ottengo questo output di errore dalla scheda del compilatore Typescript in WebStorm: Errore: Errore: errore tsconfig di analisi [{"messageText": "Opzione di compilatore sconosciuta 'baseUrl'.", "Categoria": 1, "codice ": 5023}, {" messageText ":" Opzione del compilatore sconosciuta 'lib'. "," Categoria ": 1," codice ": 5023}, {" messageText ":" Opzione del compilatore sconosciuta 'typeRoots'. "," Categoria ": 1," code ": 5023}]
— Nikola Schou,

4

Ciò potrebbe anche essere causato da una dipendenza mancante (se si sta sviluppando in TypeScript).

Assicurati di aver installato @types/jasmine

npm install --save-dev @types/jasmine

2

Se si riscontra questo problema dopo aver generato un progetto utilizzando il Angular CLIquindi andare a File -> Settings -> Languages & Frameworks -> JavaScript -> Librariese controllare {your-project-name}/node_modules.

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.