我用NodeJS和TypeScript代码创建了一个小项目。在那里安装了类型定义文件(tsd安装节点)。代码从这些行开始:
var http = require('http');
var server = http.createServer(...)
当我在WebStorm 11中打开此代码时,当我在http后按CTRL-Space时,它会在上下文相关帮助窗口中向我显示数百个选项。
我尝试添加/// <reference path="typings/node/node.d.ts" />
作为第一行,下载并安装了DefinitelyTyped社区存根,但它仍然显示了http对象的大量选项。
当我在Visual Studio Code中打开相同的文件时,它会显示一个与Node的http模块相关的API的简短列表。如何通过代码完成来教WebStorm变得更聪明?
答案 0 :(得分:1)
我尝试添加///作为第一行,下载并安装了DefinitelyTyped社区存根,但它仍然显示了http对象的大量选项。
这是因为您使用的是var/require
。这意味着webstorm在其建议中正在启发式。您应该使用import/require
将其缩小到实际为http模块声明的内容:
import http = require('http');
var server = http.createServer(...)
有关import
的更多信息:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html