【问题标题】:Is there a standard way to release preview features in VS Code extensions?有没有标准的方式来发布 VS Code 扩展中的预览功能?
【发布时间】:2019-07-17 00:37:46
【问题描述】:

我的团队正在开发一个Visual Studio Code 扩展程序,我们正在考虑以预览/测试版的形式发布一些新功能,仅向有限数量的用户展示。

我们可以想办法手动完成,但想知道 Visual Studio Code 是否提供任何“标准”方式来发布此类预览功能,就像为 Visual Studio Code Insiders 所做的那样。

在 VS Code 扩展中是否有发布预览功能的标准方法?

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    在 vscode 1.63 中添加了预览pre-release 扩展的增强功能,请参阅release notes: pre-release extensions

    由于 VS Code 现在允许扩展提供预发布,您可以选择加入 安装它们并使用最新的尖端功能 扩展名。 VS Code 显示了一个额外的安装预发布版本 扩展安装下拉菜单中的选项,用于安装 扩展的预发布版本。

    安装后,以下指标可清楚说明您是否 使用扩展的预发布版本:

    如果您拥有扩展的预发布版本 已安装,您可以轻松切换到它:


    要发布预发布版本,请参阅release notes: publish pre-release extension versions

    发布预发布扩展

    VS Code 现在支持扩展作者发布预发布 通过传递 --pre-release 标志通过 vsce 扩展它们。你可以 现在让选择安装的用户可以使用您的最新功能 在正式扩展之前预发布并获得早期反馈 释放。

    vsce publish --pre-release

    VS Code Marketplace 仅支持major.minor.patch 进行扩展 不支持版本和 semver 预发布标签。支持 这将在未来到来。因此,我们建议 扩展使用major.EVEN_NUMBER.patch 发布版本和 major.ODD_NUMBER.patch 用于预发布版本。例如: 0.2.* 用于发布,0.3.* 用于预发布。 VS Code 会自动 将扩展更新到可用的最高版本,因此即使用户 选择了预发布版本,并且有一个扩展版本 使用更高版本,该用户将更新到已发布的 版本。

    有关预发布扩展的更多信息,请参阅Pre-Release Extensions 主题。

    【讨论】:

    【解决方案2】:

    不,我认为没有标准的方法可以做到这一点,这会导致不同的扩展采用不同的方法:

    • C# extension 要求您卸载市场/发行版。然后,您需要从 GitHub 手动下载 beta 版本的 .vsix 文件并从中安装扩展。 Go extension 似乎采用了相同的方法。
    • 其他扩展在市场上发布了两个不同的版本,例如PowerShellPowerShell Preview。后者通过在package.json 中指定"preview": true 在市场上有一个preview 徽章:

      此方法还需要手动卸载或禁用原始扩展,然后才能使用预览版。

    • 最后,一些扩展包括常规市场版本中的实验性功能,但将它们锁定在设置之后,以便用户可以选择加入。如果事情没有经过很好的测试,这种方式可能会破坏非实验性功能。

    还有一个开放的功能请求,对此主题进行了相当长的讨论,因此有一天可能会有官方解决方案:

    【讨论】:

    • 感谢您的回答!我们可能会选择您提到的第一个选项。也感谢您链接这个我找不到的 GitHub 问题,听起来可能很快就会出现!
    猜你喜欢
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多