引言
IntelliJ IDEA是JetBrains公司开发的一款广受欢迎的集成开发环境(IDE)。它不仅支持Java等多种编程语言,还通过插件系统提供了强大的扩展能力。本分享旨在介绍如何使用Java开发一个简单的IntelliJ IDEA插件,并通过一个实际案例,帮助开发者掌握插件开发的基础知识和技巧。本分享中将介绍IDEA插件开发入门流程(开发/调试/安装),插件的一些基本概念以及大模型API基本使用。
环境准备
1. 安装IntelliJ IDEA
确保已经安装了IntelliJ IDEA。如果尚未安装,可以从JetBrains官网下载并安装最新版本。
2. 安装和配置Gradle
官方推荐使用Gradle作为项目的构建工具。但是本次不按照推荐,这次分享主要是关注插件开发的快速跑通流程。
创建插件项目
创建一个新的项目。

新建一个Action

在项目设置中

设置按钮配置(以编辑弹窗为例)

项目结构
1.基本结构
src/ └── main/ └── com/ └── test/ └── MyTestPlugin.java resources/ └── META-INF/ └── plugin.xml
2.plugin.xml
plugin.xml是插件的配置文件,定义了插件的基本信息和扩展点。一个简单的plugin.xml示例如下:
<idea-plugin>
<id>ljw-20240829-1</id>
<name>ljw-20240829-1</name>
<version>1.0</version>
<vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor>
<description><![CDATA[
Enter short description for your plugin here.<br>
<em>most HTML tags may be used</em>
]]></description>
<change-notes><![CDATA[
Add change notes here.<br>
<em>most HTML tags may be used</em>
]]>
</change-notes>
<!-- please see https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html for description -->
<idea-version since-build="173.0"/>
<!-- please see https://plugins.jetbrains.com/docs/intellij/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>
<action id="MyTestPlugin20240829-1" class="main.com.test.MyTestPlugin20240829" text="test-name-ljw" description="MyTestPlugin20240829">
<add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action>
</actions>
</idea-plugin>
编写插件功能
1. 实现基础功能
实现一个简单的Action,可以在菜单中触发送一个MyTestPluginTitle消息通知。首先,创建一个Java类:
public class MyTestPlugin extends AnAction { @Override public void actionPerformed(AnActionEvent e) { NotificationGroup notificationGroup = new NotificationGroup("MyTestPluginId2", NotificationDisplayType.BALLOON, true); Notification notification = notificationGroup.createNotification("MyTestPluginTitle", MessageType.INFO); Notifications.Bus.notify(notification); } }
2.注册Action
<action id="MyTestPlugin" class="main.com.test.MyTestPlugin" text="test-name" description="MyTestPluin"> <add-to-group group-id="EditorPopupMenu" anchor="first"/> <keyboard-shortcut keymap="$default" first-keystroke="1"/> </action>
调试与安装
在IntelliJ IDEA中,可以直接运行插件项目,IDE会自动创建一个沙盒环境来测试插件。

1.调试

2.验证

3.打包
将插件打包为.zip格式:


4.安装


案例介绍
通过实战案例,将开发一个AI模型生成代码Java命名工具
参考资料
- https://plugins.jetbrains.com/docs/intellij/developing-plugins.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/idea/780.html