别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(四)- 拓展收尾篇

113 阅读2分钟

✨这里是第七人格的博客✨小七,欢迎您的到来~✨

🍅系列专栏:实战🍅

✈️本篇内容: 将插件数据存储到IDEA本地,以及插件打包安装✈️

🍱本篇收录完整代码地址:gitee.com/diqirenge/i…🍱

楔子

上一章我们完成了插件的核心代码编写,这一章我们完成最后的收尾工作,包含将插件数据存储到IDEA本地,以及对我们自己的插件进行打包安装。

IDEA本地保存

分支名称

231030-52javaee.com-StoreIDEA

仓库地址

gitee.com/diqirenge/i…

分支描述

配置缓存到IDEA

代码实现

将数据库配置缓存到IDEA中

/**
 * 该类的作用是将db相关配置,保存在本地的IDEA中
 * 关注公众号【奔跑的码畜】,一起进步不迷路
 *
 * @author 第七人格
 * @date 2023/10/30
 */
public class DataState {

    private DbConfig dbConfig = new DbConfig();

    public DbConfig getDbConfig() {
        return dbConfig;
    }

    public void setDbConfig(DbConfig dbConfigVO) {
        this.dbConfig = dbConfigVO;
    }

}
/**
 * 该类的作用是将db相关配置,保存在本地的IDEA中
 * 关注公众号【奔跑的码畜】,一起进步不迷路
 *
 * @author 第七人格
 * @date 2023/10/30
 */
@State(name = "DataSetting", storages = @Storage("plugin.xml"))
public class DataSetting implements PersistentStateComponent<DataState> {

    private DataState state = new DataState();

    public static DataSetting getInstance(Project project) {
        // 记得在plugin.xml中配置
        return project.getService(DataSetting.class);
    }

    @Nullable
    @Override
    public DataState getState() {
        return this.state;
    }

    @Override
    public void loadState(@NotNull DataState state) {
        this.state = state;
    }

    public DbConfig getDbConfig() {
        return state.getDbConfig();
    }

}

UI类中修改构造方法取值

config = DataSetting.getInstance(project).getDbConfig();

修改plugin.xml

在extensions中,增加DataSetting配置

<extensions defaultExtensionNs="com.intellij">
  <!-- Add your extensions here -->
  <!-- 窗体 (IDEA 界面右侧) -->
  <toolWindow id="Generate-Code" secondary="false" anchor="right" icon="/icons/logo.png"
              factoryClass="com.run2code.idea.plugin.codegenerate.factory.CodeGenerateWindowFactory"/>
  <!-- 将数据缓存到IDEA -->
  <projectService serviceImplementation="com.run2code.idea.plugin.codegenerate.data.DataSetting"/>

</extensions>

测试

使用插件生成代码后,关闭插件IDEA,重新打开,显示如下,表明缓存已经生效

混存.jpg

拓展

插件打包

打包命令

打包.jpg

默认打包位置

打包位置.jpg

插件安装

插件安装位置.jpg

✨求点赞、关注加收藏。你的一键三连,是对小七写作最大的动力~✨

传送门

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(一)-环境搭建篇

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(二)UI设计与开发

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(三)-核心代码篇

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(四)- 拓展收尾篇