在WebStorm中为通过npm安装的node.js模块启用自动完成
我正在使用WebStorm 5.0.4开发node.js应用程序 我使用npm install-g module name全局安装了几个节点模块,并使用npm link module name将它们链接到项目中 npm install -g module-name npm link module-name 自动完成不适用于任何npm安装的模块。它仅适用于核心模块(例如在WebStorm中为通过npm安装的node.js模块启用自动完成,node.js,intellij-idea,webstorm,Node.js,Intellij Idea,Webstorm,我正在使用WebStorm 5.0.4开发node.js应用程序 我使用npm install-g module name全局安装了几个节点模块,并使用npm link module name将它们链接到项目中 npm install -g module-name npm link module-name 自动完成不适用于任何npm安装的模块。它仅适用于核心模块(例如http或path) 此外,WebStorm对我从npm安装的模块调用的任何函数发出警告“未解析函数或方法xyz” 如何使WebS
http
或path
)
此外,WebStorm对我从npm安装的模块调用的任何函数发出警告“未解析函数或方法xyz”
如何使WebStorm自动完成并通常了解我所需的已安装模块?根据我在评论中发布的链接,您需要使用
首选项->目录 通过运行以下命令,可以找到全局目录的位置:
> npm ls -g
来源:我不确定这是否能解释您的特殊情况,但是我在WebStorm 5.0.4中遇到了类似的问题,而所需的任何内容都不是自动完成的。我可以通过进入我的项目设置,导航到JavaScript库,检查“Node.js Core Modules”和“Node.js Globals”并单击“应用”来解决此问题。当您使用逗号声明多个模块时,会发生这种情况,例如:
var sys = require("sys"),
http= require("http");
在上面的示例中,sys将仅具有作为自动完成选项的导出,其中as-http可以正常工作。如果您这样做:
var sys = require("sys");
var http= require("http");
sys和http都可以正常工作。我的答案仅适用于WebStorm 7以后的版本:
如果您需要更多信息,请在JetBrain的官方博客上阅读,这应该可以很好地解决您的问题,至少对我来说是这样。我将全局npm全局目录添加到project的内容根目录中,但没有帮助。我使用异步模块,我有
var async=require('async')
但是当我键入async.
时,唯一可用的自动完成功能是从index.js
从节点模块/async
导出。有什么想法吗?你试过让缓存失效吗?文件->使缓存无效。然后重新启动WebStorm。我刚刚完成了失效和重新启动。自动完成没有变化。我尝试了模块async
和express
。唯一的自动完成选项是从node_modules/async
和node_modules/express
中相应的index.js
文件中导出。如果有人来到这里,你可以通过谷歌搜索“在WebStorm中为node.js启用自动完成”,确保你已经做到了这一点。这对我来说很管用,在新版本中已经修复了