idea 插件开发
程序员文章站
2022-05-26 16:30:15
...
1 idea开发插件有2种实现方式,1 devKit(不推荐,只是维护就项目时用到) 2 gradle
2 idea platform sdk
https://www.jetbrains.org/intellij/sdk/docs/intro/welcome.html
在这里可以看到,像我们常见,用到 intelijj idea, pyCharm,webStorm 这些工具都是基于IntelliJ Platform开发的
3 我为什么会去看它?
有一次在使用yapi的上传插件 uplaodYapi时,发现如果返回类型为 Result<String>,这里泛型使用的是基本类型,而不是封装的pojo类时,插件上传后,显示的的json上传结构是不对的。这是插件的一个bug,我就从gitHub上取下源码文件,并通过idea打开,遇到了几个问题:
1 它是plugin项目,但是导入时默认时java项目,这时需要修改 xxx.imi文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<module type="PLUGIN_MODULE" version="4">
<component name="DevKit.ModuleBuildProperties" url="file://$MODULE_DIR$/resources/META-INF/plugin.xml" />
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
</content>
<orderEntry type="jdk" jdkName="IntelliJ IDEA IU-191.7479.19" jdkType="IDEA JDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
2 配置项目module
当debug运行插件时,就会重新打开一个idea项目窗口,这里是有此次调试的插件存在的。
下面就正式进入到了插件开发的内容了。相关的依赖,实现,都统一由idea sdk提供。
关于插件开发的内容,就通过官网提供地址,结合从github上下载插件项目学习使用。我在查找上面的问题时,就遇到了插件开发的一些类,获取字段类型,信息封装,递归调用。不是自己开发的,勉勉强强的理解,又有点晕的感觉。问题解决了。但是觉得好笨。
技术+业务逻辑。