当有人更新到我的扩展程序的新版本时,我如何显示消息?
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.json
和 package.json
中的版本号
- 比较
package.json
版本是否更大(主要 - 次要 - 补丁)
- 如果更大 => 显示消息
- 如果显示消息 => 在
user_config.json
中保存 package.json
版本
我看到扩展程序在 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.json
和package.json
中的版本号
- 比较
package.json
版本是否更大(主要 - 次要 - 补丁) - 如果更大 => 显示消息
- 如果显示消息 => 在
user_config.json
中保存
package.json
版本