IDEA插件开发(一)

简介: IDEA插件开发

前言

在工作中,IDEA是开发人员最常用的开发工具,但有时开发的过程又是枯燥乏味的。

我们常常说高端的程序员,往往采用最朴素的编程方式:

image-20220630213606571

但这也是最无聊的开发过程,它不快乐。编程是需要快乐的。

所以,开发可以解决这些枯燥过程的IDEA插件是有效的方法之一。

IDEA插件SDK

开发第一个插件

在编程的世界里,所有起源都从一个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

地址:https://plugins.jetbrains.com/author/me


目录
相关文章
|
14天前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
21 2
|
21天前
IDEA安装actiBPM插件
IDEA安装actiBPM插件
78 10
|
20天前
|
SQL XML Java
IDEA常用插件及配置-解放双手
IDEA常用插件及配置-解放双手
52 1
|
5天前
|
存储 Oracle Java
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
10 0
|
1月前
|
缓存 IDE Java
Idea里开发遇到所有项目的所有代码爆红的问题与解决
在Idea中,用户意外遇到所有项目代码显示错误但能正常运行的问题。尝试清理缓存、更改编码和切换JDK等方法无效。最终解决方案是检查并移除Maven的.class文件忽略设置:进入File--Editor--File Types,确保Ignore files and folders列表中没有配置为忽略*.class文件。移除后,IDE重新索引,红色错误提示消失。
|
1月前
|
IDE Java 项目管理
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
25 3
|
17天前
IDEA离线安装插件
IDEA离线安装插件
10 0
|
1月前
IDEA 插件 Material Theme UI收费后 免费的办法
IDEA 插件 Material Theme UI收费后 免费的办法
127 2
|
18天前
|
SQL Java 数据库连接
IDEA插件(MyBatis Log Free)
IDEA插件(MyBatis Log Free)
19 0
|
18天前
|
Java 数据库连接 mybatis
idea无法下载Mybatis插件怎么办
idea无法下载Mybatis插件怎么办