前言
在工作中,IDEA是开发人员最常用的开发工具,但有时开发的过程又是枯燥乏味的。
我们常常说高端的程序员,往往采用最朴素的编程方式:
image-20220630213606571
但这也是最无聊的开发过程,它不快乐。编程是需要快乐的。
所以,开发可以解决这些枯燥过程的IDEA插件是有效的方法之一。
开发第一个插件
在编程的世界里,所有起源都从一个HelloWorld开始~
1、使用模板
没错,IDEA插件开发也是可以有模板的~
打开插件模板仓库
点击Use this template
使用该模板
image-20220630214302161
咱就叫他hello-world
image-20220630214410637
2、使用IDEA打开模板
克隆hello-world
到本机,使用idea打开
image-20220630225949984
如你所见,项目使用gradle构建, 项目默认使用kotlin编写代码,当然,如果你想用Java,可以直接建Java包,该模板同样支持Java
在该项目里,最重要的文件即为:META-INF/plugin.xml
文件,里面定义了插件一系列的配置信息
<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html --> <idea-plugin> <!-- 插件id 唯一 --> <id>com.github.lzj960515.helloworld</id> <!-- 插件名称 --> <name>Hello World</name> <!-- 版本 --> <version>1.0.0</version> <!-- 作者或组织 --> <vendor url="zijiancode.cn" email="lzj960515@163.com">lzj960515</vendor> <!-- 支持的idea版本 --> <idea-version since-build="211.1" until-build="223.*"/> <description> <![CDATA[ <p>这里是插件描述</p> <p>这里是插件描述</p> <p>这里是插件描述</p> <p>这里是插件描述</p> <p>这里是插件描述</p> <p>这里是插件描述</p> <p>这里是插件描述</p> ]]> </description> <!-- 更新日志 --> <change-notes>Hello World</change-notes> <!-- 依赖 --> <depends>com.intellij.modules.platform</depends> <!-- 扩展点 --> <extensions defaultExtensionNs="com.intellij"> <applicationService serviceImplementation="com.github.lzj960515.helloworld.services.MyApplicationService"/> <projectService serviceImplementation="com.github.lzj960515.helloworld.services.MyProjectService"/> </extensions> <!-- 监听器 --> <applicationListeners> <listener class="com.github.lzj960515.helloworld.listeners.MyProjectManagerListener" topic="com.intellij.openapi.project.ProjectManagerListener"/> </applicationListeners> </idea-plugin>
更多插件配置见: 插件配置
为了更好的Hello-World,这里我把示例代码删除,免得干扰到大家,并且使用Java代码编写
image-20220630230804311
3、创建一个Action
没错,IDEA插件也是有Action
的!点击鼠标右键 --> 选择New --> Plugin DevKit --> Action
如果没有的话,那么可能需要在先在IDEA中装个 Plugin DevKit插件
image-20220630231016897
填写Action信息
image-20220630231236476
Action ID: 插件的Action ID,在插件中保证唯一
Class Name: 就是ClassName啦
Name: 使用插件时,这个Action对应按钮的名字
Add to Group: 把这个Action的事件绑定到IDEA界面的哪个部分, 我这里的ToolsMenu即为上方菜单栏的
Tools
,最右边的First即为放到Tools列表的第一位Keyboard Shortcuts: 快捷键
创建完毕:
image-20220630231720095
同时,在plugin.xml中你会看到多出了个action
image-20220630232224227
4、编写HelloWorld
image-20220630231858520
Messages是一个,嗯..就是个发消息的工具,它还有许多API,请你自己尝试吧~
调试插件
接下来,就是调试插件了
点击右边Gradle中的Run Plugin
image-20220630232317285
此时会运行一个虚拟的IDEA,我们顺便打开个项目,然后点开Tools
见证奇迹
image-20220630232602392
效果如下:
image-20220630232802579
发布插件
运行Gradle中的buildPlugin
image-20220630232940024
完毕之后,便可以在build中找到插件的压缩包
image-20220630233058088
现在,你可以直接把这个压缩包分享给你的朋友们,或者上传至idea插件市场~
image-20220630233210689