当有人更新到我的扩展程序的新版本时,我如何显示消息?

How can I display a message when someone updates to a new version of my extension?

我看到扩展程序在 vscode 自动设置日期时会在右下角显示一条重要通知,如下所示:

如何在第一次有人运行我维护的扩展的新版本时显示这样的消息?

您可以使用 vscode.window.showInformationMessage API 来显示按钮,您可以在第一个参数 title

之后传递任意数量的参数
const resp = await vscode.window.showInformationMessage(
  "There are multiple formatters for 'JSON' files...",
  "Configure..."
);

if (resp === "Configure...") {
  //your logic here
}

我查看了 Material Theme 他们是如何做到的源代码。这是第一个向我显示此类消息的扩展,主题扩展不会有很多代码。

他们所做的是:在扩展程序的目录中写入一个文件,其中包含上次显示消息时扩展程序的版本号。它以 JSON 格式存储,因为 package.json 也是。

激活时:

  • 在扩展目录(package.json所在的地方)搜索文件user_config.json
  • 如果未找到 => 显示消息
  • 读取存储在文件 user_config.jsonpackage.json
  • 中的版本号
  • 比较 package.json 版本是否更大(主要 - 次要 - 补丁)
  • 如果更大 => 显示消息
  • 如果显示消息 => 在 user_config.json
  • 中保存 package.json 版本