网站搜索

node.js - VS Code 的智能感知对 JavaScript 文件有效,但对 TypeScript 文件无效


我已经建立了一个 node.js 项目,并且我想使用 VS-Code + Typescript。如果我使用普通的 Javascript,IntelliSense 工作正常,VS-Code 甚至会从缓存中加载 Typescript 定义 (例如 ~/.cache/typescript/2.5/node_modules/@types/rethinkdb/index.d.ts)。但是在 .ts 文件中,这完全不起作用。

.js 文件(智能感知可用)

.ts 文件(智能感知无法工作)

两个文件在同一个文件夹中。我的 tsconfig.json 看起来如下:

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

我是不是漏了某个配置选项或其他东西?

答案#1

回答我自己的问题:

安迪的评论给了我一个提示,因为 rethinkdb 的模块文件夹中没有 .d.ts 文件。所以我把缓存文件夹中的 .d.ts 文件复制到了模块文件夹中。我还需要从 DefinitelyTyped 安装类型:

npm install --save-dev @types/node

我不知道这是否是解决此问题的推荐方法,也不知道为什么 VS-Code 不会自动解析定义文件,但至少现在它对我有效。