✨这里是第七人格的博客✨小七,欢迎您的到来~✨
🍅系列专栏:实战🍅
✈️本篇内容: 将插件数据存储到IDEA本地,以及插件打包安装✈️
🍱本篇收录完整代码地址:gitee.com/diqirenge/i…🍱
楔子
上一章我们完成了插件的核心代码编写,这一章我们完成最后的收尾工作,包含将插件数据存储到IDEA本地,以及对我们自己的插件进行打包安装。
IDEA本地保存
分支名称
231030-52javaee.com-StoreIDEA
仓库地址
分支描述
配置缓存到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,重新打开,显示如下,表明缓存已经生效
拓展
插件打包
打包命令
默认打包位置
插件安装
✨求点赞、关注加收藏。你的一键三连,是对小七写作最大的动力~✨
传送门
别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(一)-环境搭建篇
别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(二)UI设计与开发