如何在 vscode 中全局引用 *.d.ts

Posted

技术标签:

【中文标题】如何在 vscode 中全局引用 *.d.ts【英文标题】:How to reference *.d.ts in vscode globally 【发布时间】:2017-09-20 14:56:29 【问题描述】:

要在 jasmine 等框架的 vscode 中启用智能感知,我们需要在每个打字稿文件的顶部显式引用打字文件,如下所示:

/// <reference path="./node_modules/@types/jasmine/index.d.ts" />

有没有办法全局引用 vscode 中的所有打字文件,这样我们就不需要在每个打字稿文件中引用它们了?

【问题讨论】:

除非您在 tsconfig 中指定了 types 数组,否则它们通常会自动获取。如果有,请添加茉莉花。事实上,排除类型是困难的 我假设您正在编写测试套件。要启用 ts,你必须在你的测试文件目录下创建一个tsconfig.json。在大多数情况下,当智能感知不起作用时,tsconfig.json 会出现问题。 【参考方案1】:

如果您有tsconfig.json,则应自动提取来自node_modules/@types 的输入。您可以通过在 VSCode 中运行 TypeScript: Go to Project Configuration 命令来确保您的 TS 文件是您的 tsconfig.json 的一部分

如果您有 tsconfig.json 但仍然没有看到 jasmine 类型,请尝试更新您的 tsconfig.json 以明确包含 jasmine 类型:


    "compilerOptions": 
        ...
    ,
    "typeAcquisition": 
        "include": [
            "jasmine"
        ]
    

如果还是不行,请file a bug

【讨论】:

请注意,这里假设您使用的是 TypeScript 2.2+

以上是关于如何在 vscode 中全局引用 *.d.ts的主要内容,如果未能解决你的问题,请参考以下文章

VSCode 仅在 Foo.js 在某处导入时通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?

VSCode 仅在 Foo.js 在某处导入时通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?

如何在 index.d.ts 打字稿定义文件中引用 Redux 类型?

如何在没有参考路径的 angularjs 应用程序中使用打字稿定义文件(.d.ts)?

如何引用由 NPM 包中 tsc 的“声明”选项生成的 TypeScript .d.ts 文件中声明的类型?

在 Visual Studio 代码中,如何跳转到 typescript 类型定义 index.d.ts 中的实际代码?