IntelliJ插件开发-版本升级

简介

idea启动过程中,并不会自动去插件市场检查插件是否有更新。发布插件后,需要用户重启IDE,或者点击help -> check for updates,体验不太好。

如何自动检查更新

可以通过以下步骤来实现插件更新:

  1. 实现版本管理机制,让插件能够查询到当前最新可用的版本。
  2. 获取当前用户安装的插件版本,如果低于最新版本,则打开插件市场,并调用更新API。

这些操作依赖一些IntelliJ的open API:

查看当前安装的插件版本
String pluginId = "从plugin.xml中id属性获取";
public static String getVersion() {
    IdeaPluginDescriptor pluginDescriptor = PluginManagerCore.getPlugin(pluginId);
    if (pluginDescriptor == null) {
        return null;
    }
    return pluginDescriptor.getVersion();
}
打开IDE插件市场窗口

可以放在notification中,用户点击安装更新后,再执行此操作。

ShowSettingsUtil.getInstance().showSettingsDialog(project, "Plugins")
插件市场更新插件

如果不手动调用更新API,IDE在不重启或者点击check for update菜单的情况下,不会去插件市场检查插件是否有更新。

UpdateSettings settingsCopy = new UpdateSettings();
settingsCopy.getState().copyFrom((BaseState)UpdateSettings.getInstance().getState());
settingsCopy.getState().setCheckNeeded(true);
settingsCopy.getState().setPluginsCheckNeeded(true);
settingsCopy.getState().setThirdPartyPluginsAllowed(true);
settingsCopy.getState().setShowWhatsNewEditor(false);
UpdateChecker.updateAndShowResult(project, settingsCopy);

你可能感兴趣的:(#,Intellij插件,intellij,idea)