Ответ 1
Это исправлено в WebStorm 7, см. http://youtrack.jetbrains.com/issue/WEB-1927.
В WebStorm/PhpStorm/IDEA для встроенного JavaScript встроена довольно много функций интеллектуального анализа кода. Однако при разработке приложения Node.js, включая все, начиная с node_modules
, усложняет такие вещи, как "Начать файл" (я не хочу, чтобы IDE предлагала мне десятки package.json
из node_modules
), например). Но исключение папки node_modules
полностью имеет свои проблемы - нет завершения кода и т.д.
Итак, каков "правильный" подход к этому в WebStorm? Должен ли я включать только некоторые файлы из node_modules
? Или исключить все оттуда и каким-то образом использовать концепцию проектных или глобальных библиотек?
Спасибо.
Это исправлено в WebStorm 7, см. http://youtrack.jetbrains.com/issue/WEB-1927.
Чтобы сделать это в пользовательском интерфейсе (проверенном с PyCharm 2.7.3, результат показан в PhpStorm 6.0.3):
Добавить библиотеки JavaScript
Файл → Настройки изображения (Настройки проекта) → JavaScript → Библиотеки
[Добавить...] →
Имя: node_modules
Visiblilty: [x] Текущий проект
[Attach...]
{выберите проект node_modules папка}
{повторить для беседки}
Исключить папку из проекта
(Настройки проекта) → Структура проекта
Щелкните правой кнопкой мыши по папке → [Исключен]
Сделать это из файла проекта .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.
К сожалению, нет простого "правильного" способа. Вы можете исключить все каталоги node_modules, которые расположены в каталоге верхнего уровня node_modules.
Это сделает завершение лучше, но не идеально.
Дальнейшее обсуждение здесь: http://devnet.jetbrains.net/message/5468926.
Вы можете загрузить плагин для интеграции Node.js: http://plugins.intellij.net/plugin/?webide&pluginId=6098