vscode intellisense node.js适用于.js文件 - 而不是.ts文件

时间:2017-08-25 21:11:09

标签: node.js typescript visual-studio-code intellisense

无法使用intellisense工作.ts文件。

test.js

var http = require('http');
http.[intellisense available]

test.ts

var http = require('http');
http.[no suggestions]

似乎没有阅读index.d.ts

这是 tsconfig.json

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "sourceMap": true,
    "watch": true
  }
}

任何建议。真的很想使用打字稿,但在学习节点时需要提示。不想使用javascript。

感谢。

3 个答案:

答案 0 :(得分:1)

VS Code的节点和第三方模块的JavaScript和TypeScript智能感知由打字文件(d.ts文件)提供支持。

在JavaScript代码中,我们automatically下载这些类型,因为它们仅用于工具支持。例如,当我们在js文件中看到require('http')时,我们将自动安装节点类型。这就是为什么在这种情况下得到建议

在TypeScript代码中,必须手动管理打字文件,因为它们是编译过程的一部分。例如,要安装节点类型,只需运行npm install --save-dev @types/node。以下是有关@typeshttps://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

的更多信息

我怀疑你只需要安装节点类型以获得正确的智能感知。

答案 1 :(得分:1)

学习曲线。

对于.js文件:

var http = require('http');

表示.ts文件:

import http = require('http');

转换器将写出:var http = ...

“import”而不是“var”使intellisense工作。右键单击“转到定义”即可。

问题解决了。

答案 2 :(得分:0)

对我来说,有效的方法不是OP的答案,而是下面的代码:

import * as http from "http";