别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(一)

517 阅读2分钟

✨这里是第七人格的博客✨小七,欢迎您的到来~✨

🍅系列专栏:实战🍅

✈️本篇内容: IDEA插件开发初体验✈️

🍱本篇收录完整代码地址:gitee.com/diqirenge/i…

IDEA插件开发官网文档 plugins.jetbrains.com/docs/intell…

开发环境

请尽可能保持开发环境一致,否则大概率会有环境问题需要处理。

1、IDEA版本:2023.2.1

2、JDK版本:JDK17

3、Gradle版本:8.2

环境问题出现的原因:IDEA开发插件时会根据你当前使用的IDEA版本再下载一个IDEA,这个IDEA是有对应JDK使用要求的。又因为我们是用Gradle进行开发的,Gradle对应的JAVA版本也是有要求的。所以这3者是存在对应关系的

分支名称

231027-52javaee.com-InitProject

分支地址

gitee.com/diqirenge/i…

根据idea模版创建项目

001.png

配置IDEA的gradle

002配置idea的gradle.jpg

修改配置文件后缀,使用gradle开发

003修改配置文件后缀,使用gradle开发.jpg

修改build.gradle内容如下:

plugins {
    id("java")
    id("org.jetbrains.kotlin.jvm") version "1.9.0"
    id("org.jetbrains.intellij") version "1.15.0"
}

group = "com.run2code.idea.plugin"
version = "1.0-SNAPSHOT"

repositories {
    maven { url 'https://maven.aliyun.com/repository/central/'}
    maven { url 'https://maven.aliyun.com/repository/public/' }
    maven { url 'https://maven.aliyun.com/repository/google/' }
    maven { url 'https://maven.aliyun.com/repository/jcenter/'}
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
}

dependencies {

}

intellij {
    version = '2022.2.5'
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
    options.compilerArgs += ['-Xlint:unchecked', '-Xlint:deprecation', '-parameters']
}

patchPluginXml {
    sinceBuild = '222'
    untilBuild = '232.*'
}

修改src下的kotlin包名为java

1698388523569.jpg

新增Action类

/**
 * 代码生成器Action
 * 关注公众号【奔跑的码畜】,一起进步不迷路
 *
 * @author 第七人格
 * @date 2023/10/27
 */
public class CodeGenerateAction extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getProject();
        Messages.showMessageDialog("项目名称:" + project.getName(), "Code Generate", Messages.getInformationIcon());
    }

}

resources下新增你插件的logo

1698377721901.jpg

修改plugin.xml文件

<idea-plugin>
    <id>com.run2code.idea.plugin.codegenerate</id>
    <name>Code-Generate</name>
    <vendor email="760470497@qq.com" url="https://52javaee.com">第七人格</vendor>

    <description><![CDATA[
    代码生成器,通过数据库以及表结构,生成PO、DAO、VO、Mapper XML、Service、Controller等。
    ]]></description>

    <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
         on how to target different products -->
    <depends>com.intellij.modules.platform</depends>

    <extensions defaultExtensionNs="com.intellij">
        <!-- Add your extensions here -->
    </extensions>

    <actions>
        <!-- Add your actions here -->
        <action id="CodeGenerateAction" class="com.run2code.idea.plugin.codegenerate.action.CodeGenerateAction"
                text="代码生成器 - 第七人格" description="Generate code by table" icon="/icons/logo.png">
            <add-to-group group-id="ProjectViewPopupMenu" anchor="last"/>
        </action>

    </actions>

</idea-plugin>

启动插件

右侧:gradle——>intellij——>runlde

1698378025257.jpg

当然你也可以直接像启动一般项目那样启动

debug.png

启动时会默认去下载用于开发的IDEA

006.jpg

IDEA下载完后,打开任意项目

1698388683244.jpg

在左侧项目目录下,点击右键,选择代码生成器

004.jpg

会得到提示框

1698388825514.jpg

表明插件运行成功。

传送门

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(一)-环境搭建篇

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(二)UI设计与开发

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(三)-核心代码篇

别再羡慕别人了!教你如何轻松掌握IDEA插件开发,成为编程高手!(四)- 拓展收尾篇