ฉันจะทำให้ WebStorm จดจำวิธีการของ Jasmine ได้อย่างไร


135

ฉันมีโปรเจ็กต์ node.jsที่มีข้อมูลจำเพาะของจัสมิน ข้อมูลจำเพาะอยู่ในข้อมูลจำเพาะ / ไดเร็กทอรีย่อยและมีนามสกุล. spec.coffee ตามที่จัสมินโหนดต้องการ

เมื่อฉันเปิดไฟล์ข้อมูลจำเพาะของฉันในWebStorm IDE การเรียกเข้าbeforeEachและdescribeและitแสดงด้วยสีน้ำเงินขีดเส้นใต้ด้วยคำแนะนำเครื่องมือ: "Unresolved function or method it ()" ดังนั้นแม้ว่าฉันจะใช้3.0 EAPและควรจะมีการสนับสนุนจัสมินจำนวนหนึ่งแต่ก็ไม่ได้รับความจริงที่ว่านี่เป็นไฟล์ข้อมูลจำเพาะของจัสมินโดยอัตโนมัติ

ฉันลองเข้าไปที่ File> Settings> JavaScript Libraries และเพิ่ม Jasmine เป็นไลบรารี (ระบุพา ธ ไปยัง jasmine-2.0.0.rc1.js) จากนั้นไปที่เพจย่อยขอบเขตการใช้งานและตรวจสอบ "จัสมิน" ใน รายการแบบเลื่อนลงถัดจาก "โครงการ" แต่ไม่มีผลใด ๆ วิธีการของจัสมินยังคงแสดงว่ายังไม่ได้รับการแก้ไข

ฉันจะบอก WebStorm ได้อย่างไรว่าไฟล์ทั้งหมดในไดเร็กทอรีย่อย spec และ / หรือไฟล์ทั้งหมดที่มีนามสกุล. spec.coffee เป็นการทดสอบของจัสมินและรับรู้ว่าจัสมิน API ใช้การทดสอบเหล่านั้นหรือไม่


ฉันมีปัญหาเดียวกันใน 3.0 EAP นี่คือเหตุผลว่าทำไมฉันถึงทำงานใน 2.1.5
ไมโครเฟด

คุณควรส่งเรื่องนี้เป็นปัญหาที่youtrack.jetbrains.net/issues/WIเพื่อให้นักพัฒนาสามารถแก้ไขกรณีดังกล่าวในเวอร์ชันต่อ ๆ ไป
CrazyCoder

@Microfed คุณกำลังบอกว่า 2.1.5 รับรู้การทดสอบของจัสมินโดยอัตโนมัติหรือไม่? นี่คือบั๊กที่เขียนขึ้นแล้วใช่หรือไม่?
Joe White

คำตอบ:


238

คุณสามารถใช้ต้นขั้วไลบรารี JS ที่กำหนดไว้ล่วงหน้าใน Webstorm / PHPStorm / Idea

  • เปิดไฟล์> การตั้งค่า ...
  • เลือกภาษาและกรอบงาน > JavaScript> ไลบรารี
  • คลิกที่ดาวน์โหลด ...

การตั้งค่าไลบรารี JavaScript

  • Swich to TypeScript ชุมชนสตับ
  • หามะลิ (เดิมชื่อมะลิ ) (ถ้าไม่ได้ผลให้ลองใช้ดอกมะลิแทน)
  • คลิกที่ดาวน์โหลดและติดตั้ง

ป้อนคำอธิบายภาพที่นี่

ฉันใช้การตั้งค่านี้กับ Jasmine 2.0


2
มันเรียกว่ากรรม - จัสมินพวกเขาเปลี่ยนมันเพียงเพื่อช่วยให้เราพบ
Andrzej Rehmann

7
ไม่ได้ผลสำหรับฉัน "อธิบาย", "beforeEach", "it" ยังคงปรากฏโดยมีขีดเส้นใต้สีเทา
BuildTester1

36
หากคุณไม่ได้ใช้กรรมคุณสามารถเลือกไลบรารี 'ดอกมะลิ' เพื่อดาวน์โหลดได้ นั่นคือสิ่งที่ได้ผลสำหรับฉันหลังจากลองใช้กรรม - จัสมิน
Doug Seelinger

22
แม้ว่าฉันจะใช้กรรม แต่ฉันก็ต้องดาวน์โหลดเพียงแค่ดอกมะลิเพื่อให้มันใช้งานได้ กรรม - ดอกมะลิไม่ได้ผล
Didier L

3
ขั้นตอนสุดท้าย - รีสตาร์ท IDE
Sava Jcript

30

บน Mac ที่มี Webstorm 2016.1.1 ฉันทำสิ่งต่อไปนี้:

  1. เปิดการตั้งค่า (webstorm-> การตั้งค่าหรือ [command +,])
  2. ไปที่ไลบรารีและเฟรมเวิร์ก -> javascript -> ไลบรารี
  3. ดาวน์โหลด
  4. เลือก 'ดอกมะลิ - พิมพ์แน่นอน' จากรายการ

เพิ่มการสนับสนุนจัสมินในเว็บสตอร์ม


4
มันใช้ได้กับฉันบน mac แต่ฉันต้องปิดและรีสตาร์ท WebStorm
จิม

ฉันดาวน์โหลดjasmineไลบรารีโดยใช้ IntelliJ 2016.3 บนเครื่อง Windows และใช้งานได้แม้ไม่ต้องรีสตาร์ท
Jelle den Burger

ฉันต้องเปลี่ยน "Type" จาก Global เป็น Project ด้วย ดับเบิ้ลคลิกที่ชื่อไลบรารีหลังจากติดตั้งแล้วเปลี่ยนการตั้งค่า "การมองเห็น"
Providencemac

6

หมายเหตุหากคุณใช้ Code Quality Tool เช่น JSHint กับ WebStorm การเพิ่มไลบรารี jasmin /arma-jasmine ส่วนกลางไม่ได้กำจัดข้อผิดพลาด JSHint

คุณต้องเข้าถึงการตั้งค่า JSHint ผ่านระบบเมนูของ WebStorm (Lang & Frameworks> JavaScript> Code Quality Tools> JSHint) และคลิกช่องทำเครื่องหมายเพื่อเปิดใช้งานเพื่อให้ทราบว่ากำลังทำงานอยู่ในสภาพแวดล้อมใด

การตั้งค่า JSHint


จัสมินหายไปจากสภาพแวดล้อมของฉัน สิ่งนั้นปรากฏในของคุณได้อย่างไร?
Aseem Bansal

@AseemBansal คุณใช้ jshint รุ่นอะไร?
prasanthv

ฉันใช้เวอร์ชัน 2.5.10
Aseem Bansal

4

การใช้TypeScript (และ Angular2) คุณเพียงแค่ต้องเปิดใช้งานคอมไพเลอร์ TypeScript ในการตั้งค่า WebStorm ...

การตั้งค่า> ภาษาและการตั้งค่า> TypeScript ...

ภายใต้หัวข้อคอมไพเลอร์ติ๊ก ...

เปิดใช้งาน TypeScript Compiler ...

(ฉันยังคลิกใช้วิทยุ tsconfig.json)

วิธีการของจัสมินจะได้รับการยอมรับ


ปัญหากับการแก้ปัญหานี้คือการที่ฉันไม่ต้องการWebStormรวบรวมของฉันตั้งแต่ฉันใช้TypeScript Webpack
theblang

ที่น่าสนใจถ้าฉันทำให้new projectเป็นAngular CLIโครงการแล้วก็ตระหนักถึงพวกเขา ผมไม่แน่ใจว่าแตกต่างกันอย่างไร
theblang

ฉันใช้ gulp เพื่อถ่ายทอด TypeScript ของฉันหากคุณตั้งค่า tsconfig.json อย่างถูกต้อง TypeScript จะไม่สร้างไฟล์เอาต์พุตมันจะตรวจสอบความถูกต้องใน IDE
danday74

ทำงานให้ฉัน อย่าลืมติ๊ก tsconfig.json
Michael Kornelakis

เกือบจะทำงานได้โดยไม่มีข้อผิดพลาดสำหรับฉัน อย่างไรก็ตามเมื่อฉันทำเช่นนี้ฉันได้รับผลลัพธ์ข้อผิดพลาดนี้จากแท็บคอมไพเลอร์ typescript ใน WebStorm: ข้อผิดพลาด: ข้อผิดพลาด: แยกวิเคราะห์ข้อผิดพลาด tsconfig [{"messageText": "ตัวเลือกคอมไพเลอร์ที่ไม่รู้จัก 'baseUrl'", "category": 1, "code ": 5023}, {" messageText ":" Unknown compiler option 'lib'. "," category ": 1," code ": 5023}, {" messageText ":" Unknown compiler option 'typeRoots'. "," category ": 1," code ": 5023}]
Nikola Schou

4

นอกจากนี้ยังอาจเกิดจากการพึ่งพาที่ขาดหายไป (หากคุณกำลังพัฒนาใน TypeScript)

ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง @types/jasmine

npm install --save-dev @types/jasmine

2

หากคุณพบปัญหานี้หลังจากที่มีการสร้างโครงการที่ใช้Angular CLIแล้วไปและการตรวจสอบFile -> Settings -> Languages & Frameworks -> JavaScript -> Libraries{your-project-name}/node_modules

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.