如何解决如何测试我的扩展程序与不同VS代码版本的兼容性?
我正在基于helloWorld tutorial构建我的第一个VS Code扩展。
首次运行yo code
时,它将检测到最新版本与代码版本并填充package.json
:
{
"engines": {
"vscode": "^1.47.0"
}
}
根据有效实施版本检查的official documentation。
但是我发现非常可疑的是,最简单的示例根本没有复杂的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:我是否考虑得太多了,可以假设每个人都定期更新代码?
解决方法
通常的方法是使用当前拥有的vscode版本开发扩展程序。这也是扩展的最低版本。这样一来,可以确保您的扩展程序不会与旧版本一起使用(即使在某些情况下也可以使用)。
然后它将与任何将来的vscode版本兼容(除非以不兼容的方式删除或更改了API)。回滚到较早的vscode版本以对其进行扩展测试是非常棘手的,因此您所要做的就是使其与当前版本一起正常工作。
使用新的vscode版本的新功能后,便会增加扩展的最低版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。