Як я можу змусити WebStorm розпізнавати методи Жасмін?


135

У мене є проект node.js, який містить деякі специфікації Jasmine . Технічні характеристики містяться у специфікації / підкаталозі та мають розширення .spec.coffee, як того вимагає жасминовий вузол .

Коли я відкриваю один із моїх специфікаційних файлів у WebStorm IDE, всі виклики до beforeEachта describeі itвідображаються синім штрихом, підкреслюється підказкою: "Нерозв’язана функція або метод її ()". Тож, хоча я використовую 3.0 EAP і він повинен мати деяку кількість підтримки Жасмін , це не автоматично підбирає той факт, що це файл специфікації Жасмін.

Я спробував зайти в файл «Налаштування»> «Бібліотеки JavaScript» і додати Жасмін як бібліотеку (вказавши шлях до жасмину-2.0.0.rc1.js), а потім перейти на під-сторінку «Сфера використання» та перевірити «Жасмін» у розділі випадаючий список поруч із "Проектом", але це не мало ефекту - методи Жасмін все ще виявляються невирішеними.

Як я можу сказати WebStorm, що всі файли у специфікаційному підкаталозі та / або всі файли з розширенням .spec.coffee є тестами Жасмін, і чи він розпізнає API Жасмін, якими користуються тести?


У мене така ж проблема в 3.0 EAP. Ось чому я працюю в 2.1.5.
Microfed

Ви можете подати це як проблему на youtrack.jetbrains.net/isissue/WI, щоб розробники могли вирішувати такі випадки у майбутніх версіях.
CrazyCoder

@Microfed, ви кажете, що 2.1.5 автоматично розпізнає тести на жасмін? Це помилка, про яку вже написано?
Джо Уайт

Відповіді:


238

Ви можете використовувати заздалегідь задані затримки бібліотеки JS в Webstorm / PHPStorm / Idea

  • Відкрити файл> Налаштування ...
  • Виберіть Мови та рамки > JavaScript> Бібліотеки
  • Клацніть на Завантажити ...

Налаштування бібліотеки JavaScript

  • Переключіться на заглушки спільноти TypeScript
  • Знайдіть карму-жасмін (спочатку під назвою жасмін ) (Якщо це не працює, спробуйте замість жасмину )
  • Клацніть на Завантажити та встановити

введіть тут опис зображення

Я використовую цю установку з Jasmine 2.0


2
його називають карма-жасмин, вони змінили його просто, щоб допомогти нам знайти його
Анджей Реманн

7
Не працює для мене. "Описувати", "Перед кожним", "Це" все ще з'являються із сірим підкресленням.
BuildTester1

36
Якщо ви не використовуєте карму, ви можете просто вибрати бібліотеку "жасмину" для завантаження. Саме це спрацювало для мене після спробування карми-жасмину
Doug Seelinger

22
Хоча я використовую карму, мені довелося завантажити просто жасмін, щоб він працював. карма-жасмін не спрацював.
Дідьє Л

3
Останній крок - перезапуск IDE
Sava Jcript

30

На mac з webstorm 2016.1.1 я зробив наступне:

  1. Відкрити налаштування (веб-штурм-> налаштування або [команда +,])
  2. Перейдіть до бібліотек та фреймворків -> javascript -> бібліотеки
  3. завантажити
  4. виберіть зі списку "жасмин - точно визначено"

До веб-штурму додана підтримка жасмину


4
Він працював на mac, але мені потрібно було закрити і перезапустити WebStorm.
Джим

Я завантажив jasmineбібліотеку за допомогою IntelliJ 2016.3 на машині Windows, і вона працювала навіть без перезавантаження.
Jelle

Я також повинен був змінити "Тип" з "Глобальний" на "Проект". Двічі клацніть ім’я бібліотеки після її встановлення, потім змініть налаштування "Видимість"
providencemac

6

Зауважте, якщо ви використовуєте інструмент якості якості, такий як JSHint з WebStorm, додавання глобальної бібліотеки жасмін / карма-жасмін не позбулося помилок JSHint.

Вам потрібно отримати доступ до налаштувань JSHint через систему меню WebStorm (Lang & Frameworks> JavaScript> Інструменти якості коду> JSHint) і встановити прапорець, щоб дізнатися, у якому середовищі він працює.

Налаштування JSHint


Жасмін відсутній у моєму середовищі. Як це з’явилося у ваших?
Асеем Бансал

@AseemBansal, яку версію jshint ви використовуєте?
prasanthv

Я використовую версію 2.5.10
Aseem Bansal

4

Використовуючи TypeScript (і Angular2), вам просто потрібно включити компілятор TypeScript у налаштуваннях WebStorm ...

Налаштування> Мови та параметри> TypeScript ...

Під заголовком компілятора ...

Увімкнути компілятор TypeScript ...

(Я також натиснув радіо використання tsconfig.json)

Методи жасмину тепер будуть визнані


Проблема з цим рішенням полягає в тому, що я не хочу WebStormскладати свої дані TypeScriptз моменту використання Webpack.
theblang

Цікаво, що якщо я роблю проект new projectяк Angular CLIпроект, то він їх розпізнає. Я не впевнений, що відрізняється.
theblang

Я використовую gulp, щоб передати свій TypeScript, якщо ви правильно встановите tsconfig.json, то TypeScript НЕ буде генерувати вихідні файли, він просто перевірить їх у IDE.
понеділок74

Працювали для мене. Не забудьте поставити галочку на tsconfig.json
Майкл Корнелакіс

Це майже не спрацювало без помилок для мене. Однак, коли я це роблю, я отримую цю помилку на вкладці компілятора Typescript у WebStorm: Помилка: Помилка: Розбір помилки tsconfig [{"messageText": "Невідомий параметр компілятора 'baseUrl'.", "Категорія": 1, "код ": 5023}, {" messageText ":" Невідомий параметр компілятора 'lib'. "," Категорія ": 1," код ": 5023}, {" messageText ":" Невідомий параметр компілятора "typeRoots". "," ": 1," код ": 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.