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?

Joe White
sumber
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

oujesky
sumber
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

Eran
sumber
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

prasanthv
sumber
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

danday74
sumber
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
Brad Johnson
sumber
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.

theblang
sumber