【问题标题】:How can I find which version of node ships with each version of Visual Studio Code如何找到每个版本的 Visual Studio Code 附带的节点版本
【发布时间】:2020-11-13 16:41:21
【问题描述】:

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

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

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

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

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

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

但是,最好将 engine.vscode 设置为支持我的扩展的最早版本。那样的话我也需要选择对应的node版本,不知道怎么找到那个信息。

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

【问题讨论】:

  • engines.vscode 主要用于确保扩展中使用的 VSC API 可用

标签: visual-studio-code


【解决方案1】:

查找每个版本的 VSCode 附带的 NodeJS 版本的一种方法是检查与其捆绑的 Electron 版本。例如,VSCode version 1.51.1 installs Electron 9.3.3,此 Electron 版本使用 Node 版本 12.14,您可以在 electron releases table 中看到。

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

VSCode Node Electron
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 中选择版本标签。

【讨论】:

  • 非常有用。你知道是否有一张 VSCode -> Electron 版本的表格与之配套;那将是完美的。
  • 不。但我添加了自 VSCode 1.25 版以来的版本。每个版本我都从.yarnrc file 获得。
【解决方案2】:

(回答我自己的问题)

我查看了 Yeoman generator for vscode 的功能。它(从版本 1.3.7 开始)

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

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

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

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多