1

是否有 VScode 版本列表及其随附的 Node 版本(在扩展主机中?)

原因是,在package.json我们必须指定engines.vscode值并且在devDependencies我有一个参考@types/node@types/vscode。我希望所有这些都匹配,因此当我开发扩展时,我不会使用在编辑器中运行时不可用的节点 API。

我可以找到我的 VSCode 正在运行的节点版本(通过帮助|关于),但如果我想支持早期版本的 VScode,那么该信息并不明显。

[编辑] 解决来自 rioV8 的评论

据我了解,engines.vscode确定能够安装扩展的编辑器的版本或版本范围。devDependencies 中的条目(因为它们只是类型定义)会在我开发时影响 typescript 编译器。

即使是现在,如果我以最新版本的 vscode 为目标,它不包括最新版本的节点,所以如果我只使用 npm 安装 @types/node 它将允许我使用 API 进行开发,这随后会在扩展时失败启动。在这种情况下,很容易使用 Help | 关于并获取节点的版本。

但是,最好将 engine.vscode 设置为支持我的扩展的最早版本。在那种情况下我还需要选择相应的节点版本,我不知道如何找到该信息。

例如,我当前的 vscode 是 1.51.1,它带有节点 12.14.1。如果我想以 1.45 为目标,那是哪个版本的节点?

4

2 回答 2

2

查找每个版本的 VSCode 附带的 NodeJS 版本的一种方法是检查与其捆绑的 Electron 版本。例如,VSCode 版本 1.51.1 安装 Electron 9.3.3,而此 Electron 版本使用 Node 版本,如您在电子版本表12.14中所见。

以下是 VSCode 在每个版本上使用的 Node/Electron 版本,以便于参考:

VSCode 节点 电子
1.63.x 14.16.0 13.5.2
1.62.x 14.16.0 13.5.2
1.61.x 14.16.0 13.5.1
1.60.x 14.16.0 13.1.8
1.59.x 14.16.0 13.1.7
1.58.x 14.16.0 12.0.13
1.57.x 14.16.0 12.0.7
1.56.x 14.16.0 12.0.4
1.55.x 12.18.3 11.3.0
1.54.x 12.18.3 11.3.0
1.53.x 12.18.3 11.2.1
1.52.x 12.14.1 9.3.5
1.51.x 12.14.1 9.3.3
1.50.x 12.14.1 9.2.1
1.49.x 12.14.1 9.2.1
1.48.x 12.8.1 7.3.2
1.47.x 12.8.1 7.3.2
1.46.x 12.8.1 7.3.1
1.45.x 12.8.1 7.2.4
1.44.x 12.8.1 7.1.11
1.43.x 12.8.1 7.1.11
1.42.x 12.4.0 6.1.6
1.41.x 12.4.0 6.1.6
1.40.x 12.4.0 6.1.6
1.39.x 10.11.0 4.2.10
1.38.x 10.11.0 4.2.10
1.37.x 10.11.0 4.2.10
1.36.x 10.11.0 4.2.10
1.35.x 10.2.0 3.1.8
1.34.x 10.2.0 3.1.8
1.33.x 10.2.0 3.1.6
1.32.x 10.2.0 3.1.6
1.31.x 10.2.0 3.1.2
1.30.x 8.9.3 2.0.12
1.29.x 8.9.3 2.0.12
1.28.x 8.9.3 2.0.9
1.27.x 8.9.3 2.0.7
1.26.x 8.9.3 2.0.5
1.25.x 7.9.0 1.7.12

要轻松检查 VSCode 附带的版本,只需查看VSCode 源代码根文件夹中的 .yarnrc 文件,然后在 GitHub 上选择版本标记Switch branches or tags

于 2020-12-07T23:51:39.327 回答
0

(回答我自己的问题)

我查看了vscode 的 Yeoman 生成器的作用。它(从版本 1.3.7 开始)

  • 访问 MS 网站以获取最新版本号,并将其放入engines.vscode@types/vscode作为最低版本。
  • 将 ^12.11.7 硬编码到@types/node

所以我现在就这么做,不用担心向后兼容性。这没关系,因为我相信大多数人会在新版本可用时自动更新编辑器。

看起来没有我描述的版本交叉引用表。

于 2020-11-17T15:46:32.363 回答