Включение автозавершения в WebStorm для модулей node.js, установленных через npm
Я использую WebStorm 5.0.4 для разработки приложения node.js.
Я установил несколько модулей node глобально с помощью
npm install -g module-name
и связал их с проектом с помощью
npm link module-name
Автозаполнение не работает ни для одного из установленных модулей npm. Он работает только для основных модулей (например, http
или path
).
Кроме того, WebStorm дает предупреждение "Unresolved function or method xyz" для любой из функций, которые я вызываю из установленных модулей npm.
Как сделать автозаполнение WebStorm и вообще узнать о установленных модулях, что я require
?
Ответы
Ответ 1
Я не уверен, что это объясняет вашу конкретную ситуацию, однако я столкнулся с аналогичной проблемой в WebStorm 5.0.4, тогда как все, что требовалось, не было автозаполнением. Я смог решить эту проблему, перейдя в мои настройки проекта, перейдя на JavaScript | Библиотеки, проверяющие "Node.js Core Modules" и "Node.js Globals", и нажмите "Apply".
Ответ 2
В соответствии с ссылкой, которую я опубликовал в комментариях, вам нужно добавить свой глобальный каталог npm, используя Настройки → Каталоги
Вы можете узнать, где находится ваш глобальный каталог:
> npm ls -g
Источник: http://youtrack.jetbrains.com/issue/WEB-1880
Ответ 3
Мой ответ работает только с WebStorm 7 и далее:
Если вам нужна дополнительная информация, ознакомьтесь с официальным блоком JetBrain на Присоединение источников Node.js основных модулей, что в идеале решить вашу проблему, это на самом деле для меня, по крайней мере.
Ответ 4
Это происходит, когда вы объявляете несколько модулей с запятой, например:
var sys = require("sys"),
http= require("http");
в приведенном выше примере sys будет экспортировать только как автоматическую опцию, когда http будет работать нормально. Если вы выполните:
var sys = require("sys");
var http= require("http");
оба sys и http будут работать нормально.