Idea Plugin 开发之旅 - day 2

838 阅读1分钟

一、安装开发的插件

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. 运行成功
    2. 琢磨源码,整理修改细节,并查看是否还能正常运行
    3. 不看源码,自己重写一遍

遇到的问题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 在这里插入图片描述