如何在 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 中的实际代码?