【发布时间】: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 可用