idea 应用级别组件ProjectComponent和项目级别,在项目打开时生效ProjectComponent 这2两个接口在2021年之后会逐渐被遗弃使用,现在插件若继续使用它们插件会出现兼容问题,从而无法上传插件库。
阅读IntelliJ Platform Plugin SDK开发文档,也看到plugin.xml文件中有说明,网址https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html
原来这2接口被遗弃的说明如下,https://plugins.jetbrains.com/docs/intellij/dynamic-plugins.html
从2021年1月开始,这种用法被弃用,转而使用services, extensions, or listeners等
同时也给出了新的解决办法
https://plugins.jetbrains.com/docs/intellij/plugin-components.html#migration
可以看到idea应用启动和项目启动都有相应的解决办法
这里我选用了随项目启动的StartupActivity接口,该类说明如下https://upsource.jetbrains.com/idea-ce/file/idea-ce-4b94ba01122752d7576eb9d69638b6e89d1671b7/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.java
实现该接口,并重写runActivity方法去执行我们的逻辑。
接下来就要去plugin.xml文件中注册它,https://github.com/JetBrains/intellij-community/blob/master/platform/service-container/overview.md#startup-activity
图中使用的是,startupActivity
标签,但是我的idea版本较低,并没有它,所以可以使用标签postStartupActivity
进行替代使用是一样的。
至此,IDEA插件启动随应用和项目自动执行的最新方案就提供如上。
【完,喜欢就点个赞呗】
正在去BAT的路上修行