Bagaimana saya bisa mendapatkan WebStorm untuk mengenali metode Jasmine?


135

Saya memiliki proyek node.js yang berisi beberapa spesifikasi Jasmine . Spesifikasinya ada dalam spec / subdirektori dan memiliki ekstensi .spec.coffee, seperti yang dipersyaratkan oleh jasmine-node .

Ketika saya buka salah satu file yang spesifikasi saya di WebStorm IDE, semua panggilan ke beforeEachdan describedan itditampilkan dengan warna biru berlekuk-lekuk menggarisbawahi dengan tooltip: "fungsi terselesaikan atau metode itu ()". Jadi meskipun saya menggunakan EAP 3.0 dan seharusnya memiliki sejumlah dukungan Jasmine , itu tidak secara otomatis mengambil kenyataan bahwa ini adalah file spesifikasi Jasmine.

Saya mencoba masuk ke File> Pengaturan> JavaScript Libraries, dan menambahkan Jasmine sebagai perpustakaan (menentukan path ke jasmine-2.0.0.rc1.js), dan kemudian pergi ke sub-halaman Usage Scope dan memeriksa "Jasmine" di daftar drop-down di sebelah "Project", tetapi itu tidak berpengaruh - metode Jasmine masih muncul sebagai belum terselesaikan.

Bagaimana saya bisa memberi tahu WebStorm bahwa semua file dalam subdirektori spec, dan / atau semua file dengan ekstensi .spec.coffee, adalah tes Jasmine, dan telahkah ia mengenali API Jasmine yang digunakan tes-tes tersebut?


Saya memiliki masalah yang sama dalam EAP 3.0. Inilah alasan mengapa saya bekerja di 2.1.5.
Microfed

Anda harus mengirimkan ini sebagai masalah di youtrack.jetbrains.net/issues/WI sehingga pengembang dapat mengatasi kasus seperti itu di versi mendatang.
CrazyCoder

@ Microfed, jadi maksudmu 2.1.5 tidak secara otomatis mengenali tes Jasmine? Apakah ini bug yang sudah ditulis?
Joe White

Jawaban:


238

Anda dapat menggunakan bertopik perpustakaan JS yang telah ditentukan di Webstorm / PHPStorm / Idea

  • Buka File> Pengaturan ...
  • Pilih Bahasa & Kerangka Kerja > JavaScript> Perpustakaan
  • Klik Unduh ...

Pengaturan Perpustakaan JavaScript

  • Swich untuk bertopik berhenti komunitas TypeScript
  • Temukan karma-melati (awalnya dengan nama melati ) (Jika ini tidak berhasil, coba melati sebagai gantinya)
  • Klik Unduh dan Instal

masukkan deskripsi gambar di sini

Saya menggunakan pengaturan ini dengan Jasmine 2.0


2
itu disebut karma-melati, mereka mengubahnya hanya untuk membantu kita menemukannya
Andrzej Rehmann

7
Tidak bekerja untuk saya. "jelaskan", "sebelumEach", "itu" masih muncul dengan garis bawah abu-abu.
BuildTester1

36
Jika Anda tidak menggunakan karma, Anda bisa memilih perpustakaan 'melati' untuk diunduh. Itulah yang berhasil bagi saya setelah mencoba melati karma
Doug Seelinger

22
Meskipun saya menggunakan karma, saya harus mengunduh hanya melati untuk membuatnya berfungsi. karma-melati tidak berhasil.
Didier L

3
Langkah terakhir - mulai ulang IDE
Sava Jcript,

30

Di mac dengan webstorm 2016.1.1 saya melakukan hal berikut:

  1. Buka Preferensi (webstorm-> preferensi atau [perintah +,])
  2. Pergi ke perpustakaan dan kerangka kerja -> javascript -> perpustakaan
  3. unduh
  4. pilih 'jasmine - DefinitelyTyped' dari daftar

Dukungan Jasmine ditambahkan ke webstorm


4
Ini bekerja untuk saya di mac, tapi saya harus menutup dan me-restart WebStorm.
Jim

Saya telah mengunduh jasmineperpustakaan menggunakan IntelliJ 2016.3 pada mesin Windows dan itu berhasil, bahkan tanpa memulai ulang.
Jelle

Saya juga harus mengubah "Type" dari Global ke Project. Klik dua kali nama perpustakaan setelah menginstalnya, lalu ubah pengaturan "Visibilitas"
providencemac

6

Catatan, jika Anda menggunakan Alat Kualitas Kode seperti JSHint dengan WebStorm, menambahkan pustaka jasmin / karma-jasmine global tidak menghilangkan kesalahan JSHint.

Anda perlu mengakses pengaturan JSHint melalui sistem menu WebStorm (Lang & Frameworks> JavaScript> Tools Quality Code> JSHint) dan klik kotak centang untuk memungkinkannya mengetahui di lingkungan mana ia berjalan.

Pengaturan JSHint


Jasmine hilang dari lingkungan saya. Bagaimana itu muncul di hatimu?
Aseem Bansal

@AseemBansal versi jshint apa yang Anda gunakan?
prasanthv

Saya menggunakan versi 2.5.10
Aseem Bansal

4

Menggunakan TypeScript (dan Angular2) Anda hanya perlu mengaktifkan kompiler TypeScript di Pengaturan WebStorm ...

Pengaturan> Bahasa & Pengaturan> TypeScript ...

Di bawah tanda centang Kompilator ...

Aktifkan Penyusun TypeScript ...

(Saya juga mengklik radio use tsconfig.json)

Metode melati sekarang akan dikenali


Masalah dengan solusi ini adalah bahwa saya tidak ingin WebStormmengkompilasi TypeScriptkarena saya menggunakan Webpack.
theblang

Menariknya, jika saya menjadikan new projectsebagai Angular CLIproyek maka ia mengenali mereka. Saya tidak yakin apa yang berbeda.
theblang

Saya menggunakan tegukan untuk mentransformasikan TypeScript saya, jika Anda mengatur tsconfig.json Anda dengan benar maka TypeScript TIDAK akan menghasilkan file output, itu hanya akan memvalidasi mereka di IDE.
danday74

Bekerja untukku. Jangan lupa untuk menandai tsconfig.json
Michael Kornelakis

Ini hampir berhasil tanpa kesalahan bagi saya. Namun, ketika saya melakukan ini, saya mendapatkan output kesalahan ini dari tab compiler Typecript di WebStorm: Kesalahan: Kesalahan: Parse kesalahan tsconfig [{"messageText": "Opsi kompiler tidak dikenal 'baseUrl'.", "Kategori": 1, "kode ": 5023}, {" messageText ":" Opsi kompiler tidak dikenal 'lib'. "," Kategori ": 1," kode ": 5023}, {" messageText ":" Pilihan opsi kompiler 'typeRoots'. "," Kategori ": 1," kode ": 5023}]
Nikola Schou

4

Ini juga bisa disebabkan oleh ketergantungan yang hilang (jika Anda mengembangkan dalam TypeScript).

Pastikan Anda sudah menginstal @types/jasmine

npm install --save-dev @types/jasmine

2

Jika Anda mengalami masalah ini setelah membuat proyek menggunakan Angular CLIkemudian pergi ke File -> Settings -> Languages & Frameworks -> JavaScript -> Librariesdan periksa {your-project-name}/node_modules.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.