需要解决方法使WebStorm的自动完成能够解决第三方模块方法

几乎所有的第三方模块WebStorm的autocomplition不能解决方法/领域。 在autocompletion下,我的意思是所有的intellisense-likefunction。 例如:

var async = require('async'); async.series() //WebStorm's tooltip says: Unresolved function or method series() 

同时解决

 async.exports.series(). 

但是这会导致运行时错误:

 TypeError: Cannot call method 'series' of undefined 

对于我自己的模块,我find了解决方法。 如果我在模块中做:

 var myModule = module.exports; myModule.someMethod = function(){ ... } 

然后someMethod autocomplition工作正常。

关于以上所有问题,我有一堆问题。
1.为什么ide无法parsingasync.series()?
2.为什么async.exports.series()导致运行时错误?
3.如何使autocomplition工作?

WebStorm 5.0.4。

转到设置 – > JavaScript – >库 – >检查“Node.js全局”

使用新的如下:

 var async = new require('async'); 

新的WebStorm v7能够为常用模块定义Typescript社区存根。 这部分解决了自动完成和IDE警告的问题。

对于不太stream行的模块,我更喜欢使用这个丑恶的作弊:

 //noinspection ConstantConditionalExpressionJS,JSPotentiallyInvalidConstructorUsage var async = false ? new require('async') : require('async'); 

但是,这并不能解决问题,当属性通过一些algorithm附加到模块(例如迭代文件系统)时。 对于小型和不受欢迎的模块,这是一个罕见的情况。

顺便说一句,async已经在git@github.com:borisyankov / DefinitelyTyped.git存储库打字稿存根(stub)。