一、安装开发的插件
1. 创建gradle 项目开发的,
- 在
build/idea-sandbox/plugins/my-second-idea-plugin/lib/这个目录里
2. 直接创建 idea plugin 项目开发的,
- 在 顶部"Build"的下拉列表里面,有一个按钮,会在最外层目录生成一个jar
- 这种创建项目发方式,本地启动Plugin没有加载成功,todo 这种创建项目发方式,默认只有idea sdk,没有jdk版本选择
二、 抄一个简单的插件
抄的插件是 StopCoding 。其作者很棒,写了一篇开发教程 IDEA插件辅助防沉迷之路
- 因为该源码使用的idea版本,与我之前试验的开发环境不一致。所以我没有采用直接clone下来,本地运行的方式来学习
- 另建了一个项目,抄了里面的开发代码
- 思路是
- 运行成功
- 琢磨源码,整理修改细节,并查看是否还能正常运行
- 不看源码,自己重写一遍
遇到的问题1. 代码兼容性
- idea的版本不兼容、方法过期等似乎比较频繁
- 改源码有一段
NotificationGroup notificationGroup = new NotificationGroup("StopingCoding",NotificationDisplayType.BALLOON,true);被编译器提示下一版idea就要移除它了,请勿使用 - 但是其源码的 deprecated 不足以让我明白应该换用什么
/** @deprecated */ @Deprecated( message = "Use com.intellij.notification.impl.NotificationGroupEP and com.intellij.notification.NotificationGroupManager" ) @JvmOverloads @ScheduledForRemoval( inVersion = "2021.3" )
遇到的问题2. form文件loading失败
- 插件启动会失败,根据报错提示, 第一反应就想到了form文件,刚刚没有修改包路径之类的参数,然后就找到了
- 要在下面value部分的格子里修改class path