tldr
安装denoland.vscode-deno
扩展1。然后在特定项目中启用Deno,例如
<proj-root>/.vscode/settings.json
:
{
"deno.enable": true, // enables extension
"deno.lint": true, // inline deno lint diagnostics, requires `deno.unstable`
"deno.unstable": true // also provides unstable type declarations in VS Code
}
从v2.3.0开始,您还可以使用deno: Init
向导2:
要集成 TS 工作区版本而不是 VS Code 内置版本,请查看链接文档。
1 这个已弃用。
2 注意:在一个新的空项目中,至少需要存在一个源文件,向导才能正常工作。
更多细节
扩展有什么作用?
- 允许
.ts
在 VS Code 中显式扩展
- 解析 URL 导入说明符,例如
"https://deno.land/std@0.56.0/http/server.ts"
- 集成 Deno 运行时类型(例如
Deno.writeFile
)
如何解析.ts
模块的类型
通过上述扩展,VS Code 允许.ts
文件扩展名用于导入并将 URL 导入解析到本地磁盘缓存。编译器可以使用这些缓存的类型定义进行检查。最后,获取所有源并重新启动 TS 服务器/重新加载 VS 代码:
deno cache https://deno.land/std/http/server.ts # fetch and compile from URL
# or main project file
deno cache <your main file>.ts # fetches all its dependencies
server.ts
是标准库的一部分,它只是一个更严格维护的远程.ts
模块集合,因此它也将被正确键入。
如何解析.js
模块的类型
Deno 提供了其他方法来引用.d.ts
文件的.js
文件。
在导入代码位置指定类型定义:
// @deno-types="./foo.d.ts"
import * as foo from "./foo.js";
在主机代码位置指定类型定义:
/// <reference types="./foo.d.ts" />
export const foo = "foo";
替代方案:Deno 可以X-TypeScript-Types
从远程导入中读取自定义 HTTP 标头。
如何使用自定义tsconfig.json
项目中的给定
tsconfig.json
文件与 Deno 默认配置合并,例如:
{
"compilerOptions": {
// set a custom, deviant value
"noImplicitAny": false // deno default is true
// (this is just an example - use strong types, whenever possible)
}
}
Include
-c
选项,因此 VS Code 和 Deno CLI 具有相同的编译器设置:
deno run -c ./tsconfig.json main.ts
最简单的选项是在 VS Code 中设置"deno.unstable": true
( PR )settings.json
并重新启动,请参阅tldr
章节。
手动替代
cd <your-project>
deno types --unstable > deno.runtime.d.ts
touch tsconfig.json # (1); jsconfig.json for JS projects also possible
VS Code自动包含 deno.runtime.d.ts
一个存在的tsconfig.json
(1)。
重大变化
vscode-deno
v1.26.0
扩展需要由项目的in显式启用(默认为)。以前,默认值为."deno.enable": true
.vscode/settings.json
false
true
vscode-deno
< 1.25.0
在每种情况下(稳定和不稳定)安装 Deno 类型 - 请参阅"How to use --unstable types"
.