如何使WebStorm的自动完成工作适用于外部库?

时间:2016-04-26 14:38:12

标签: typescript webstorm

我是WebStorm的新用户和非常新的TypeScript程序员。我试图将打字稿与库libstl一起使用。这是我目前在编辑器中的代码。

var PriorityQueue = require('libstl').PriorityQueue;

var queue = new PriorityQueue();

我能够毫无问题地编译为JavaScript,但自动完成功能对变量queue的方法不起作用(即输入queue.并不显示它拥有的任何方法,例如enqueue()dequeue())。

如何通知WebStorm这个库,以便它可以在自动完成中显示这些方法?

1 个答案:

答案 0 :(得分:0)

安装libstl(npm install libstl --save)后,在javascript文件中完成正常。但是,在解决打字稿中的CommonJS调用时,WebStorm不使用node_modules(此外,除非您的项目中有node.d.ts,否则'require()'函数本身对于WebStorm是未知的)。 一般来说,我建议在.ts文件和JavaScript中使用Typescript语法 - 在.js中。例如,按如下方式更改代码:

import PriorityQueue = require('./node_modules/libstl/Datastructures/PriorityQueue')

var queue = new PriorityQueue();