Як я можу змусити 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.