Подтвердить что ты не робот

Как настроить проект WebStorm/PhpStorm, чтобы интеллект JS-кода хорошо работал для проектов Node.js?

В WebStorm/PhpStorm/IDEA для встроенного JavaScript встроена довольно много функций интеллектуального анализа кода. Однако при разработке приложения Node.js, включая все, начиная с node_modules, усложняет такие вещи, как "Начать файл" (я не хочу, чтобы IDE предлагала мне десятки package.json из node_modules), например). Но исключение папки node_modules полностью имеет свои проблемы - нет завершения кода и т.д.

Итак, каков "правильный" подход к этому в WebStorm? Должен ли я включать только некоторые файлы из node_modules? Или исключить все оттуда и каким-то образом использовать концепцию проектных или глобальных библиотек?

Спасибо.

4b9b3361

Ответ 2

Чтобы сделать это в пользовательском интерфейсе (проверенном с PyCharm 2.7.3, результат показан в PhpStorm 6.0.3):

Добавить библиотеки JavaScript

Add JavaScript Libraries

Файл → Настройки изображения (Настройки проекта) → JavaScript → Библиотеки

[Добавить...] →

Имя: node_modules
Visiblilty: [x] Текущий проект
[Attach...]
{выберите проект node_modules папка}

{повторить для беседки}

Исключить папку из проекта
Exclude Folder From Project

(Настройки проекта) → Структура проекта
Щелкните правой кнопкой мыши по папке → [Исключен]

Сделать это из файла проекта .iml:
Изменение проекта .iml на следующее:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/bower_components" />
      <excludeFolder url="file://$MODULE_DIR$/node_modules" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="node_modules" level="application" />
    <orderEntry type="library" name="bower_components" level="application" />
  </component>
</module>

Вызвал редактор исключить node_modules и bower_components, но сделать их доступными для завершения и поиска в библиотеке

Протестировано в PyCharm, IntelliJ и WebStorm.

Ответ 3

К сожалению, нет простого "правильного" способа. Вы можете исключить все каталоги node_modules, которые расположены в каталоге верхнего уровня node_modules. Это сделает завершение лучше, но не идеально.
Дальнейшее обсуждение здесь: http://devnet.jetbrains.net/message/5468926.