如何测试我的扩展与不同 VS 代码版本的兼容性?



我正在基于helloWorld教程构建我的第一个VS代码扩展。

当您第一次运行yo code时,它会检测最新的vs代码版本并填充package.json:

{
"engines": {
"vscode": "^1.47.0"
}
}

根据正在有效执行版本检查的官方文件。

然而,我发现非常值得怀疑的是,一个根本没有复杂api的最简单示例需要最新的vs代码版本。

我正在寻找一个源代码(或工具(来检查我在扩展中使用的api方法的实际版本要求,从而能够定义所需的实际引擎。

为了说明,以下是我使用的一些方法。理想情况下,我会找出每一个的版本要求。

vscode.commands.executeCommand('editor.action.revealDefinition') // 1.8.0
vscode.commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem') // 1.43.0
vscode.window.showInformationMessage() // 1.18.0
// therefore I need ^1.43.0

PS:我是不是想得太多了,可以假设每个人都会定期更新vs代码?

通常的方法是使用当前的vscode版本开发扩展。这也是扩展的最低版本。这样就可以保证您的扩展不会与旧版本一起使用(即使在某些情况下可以使用(。

这将与任何未来版本的vscode兼容(除非API以不兼容的方式被删除或更改(。回滚到早期的vscode版本来测试您的扩展是非常棘手的,所以您所能做的就是让它与当前版本正常工作。

一旦你使用了新vscode版本的新功能,你就会增加扩展的最低版本。

最新更新