首页 > 其他分享 >十天速成:打造你的AI低代码系统(2.1 IDEA插件开发方法)

十天速成:打造你的AI低代码系统(2.1 IDEA插件开发方法)

时间:2025-01-11 13:01:27浏览次数:3  
标签:插件 菜单 对话框 AI IDEA AboutUi 开发方法

 前言

1: 系统架构及部署应用

2:AI辅助开发和AI辅助测试(基于IDEA插件开发)

       2.1 IDEA插件开发方法

3:无代码-动态列表

4:无代码-拖拽表单

5:无代码-任务流 

        5.1 任务流-组件案例

6:无代码-审批流

7:无代码-分布式任务调度

8:附录:百度千帆大模型接入使用方法

9:附录:QQ邮箱授权码生成方法 

10:附录:Nacos2安装与使用

开源源码,项目下载地址icon-default.png?t=O83Ahttps://gitee.com/lowcode2/ailowcode.git

IDEA插件开发方法

1. IDEA插件开发环境

 IDEA插件开发环境IDEA版本:2021.3.3(Community Edition)

IDEA下载地址:https://www.jetbrains.com/idea/download/other.html

 IDEA插件开发,为什么下载使用IDEA社区版本?

IDEA社区版免费,并且源代码开源, 在开发插件的时候可以调试源代码。

 如何选择下载的版本?

看你开发的插件想要兼容的最低版本是多少。比如我想兼容2021.3.3及以上的版本,对于更早的版本,无需兼容。我下载的是2021.3版本的IDEA。注意Community Edition这边的下载链接是社区版本的,如下图所示。

 2. 安装辅助开发插件

从插件市场安装插件:Plugin DevKit、UI Designer。Plugin DevKit:IDEA插件开发,使用 Plugin DevKit可以很方便地创建一个Action。UI Designer:在开发插件的过程中,我们需要进行 UI 界面的开发,但是IntelliJ IDE插件需要使用Swing进行 UI 的开发,因此本文选择使用UI Designer这款插件,通过可视化工具拖拽的方式来实现基本的界面设计。后续“代码解读:如何创建一个新菜单”小节,将讲述如何使用这2个插件进行开发。

  

3. 导入项目并解读关键文件

打开IDEA,导入我们的插件项目ailowcode-plugin,项目结构如下图所示。

  

plugin.xml文件是idea插件项目的配置文件,代码如下所示。

1.	<idea-plugin>  
2.	  <id>org.wxy.aicode.ideaplugin</id>  
3.	  <name>AiLowcode</name>  
4.	    <vendor> wuxiaoyong</vendor>
5.	    <description>……</description>
6.	    <extensions defaultExtensionNs="com.intellij"> </extensions>
7.	    <idea-version since-build="200" >……</idea-version>
8.	  <actions>  
9.	    <!--工具栏加一级菜单"AI低代码"-->  
10.	    <group id="aicode" text="AI低代码">  
11.	       <add-to-group group-id="MainMenu" anchor="last"/>  
12.	    </group>  
13.	    <!--二给菜单:AI低代码/初始化系统-->  
14.	    <action id="aicode-createSystem" class="com.wxy.ideaplugin.action.AiCodeAction" text="初始化系统" description="初始化系统">  
15.	       <add-to-group group-id="aicode" anchor="first"/>  
16.	    </action>  
17.	    <!--二给菜单:AI低代码/逆向生成代码-->  
18.	    <action id="aicode-createCode" class="com.wxy.ideaplugin.action.AiCodeTableAction" text="逆向生成代码" description="逆向生成代码">  
19.	       <add-to-group group-id="aicode" />  
20.	    </action>  
21.	    <!--二给菜单:AI低代码/API按组批量测试-->  
22.	    <action id="aicode-apiGroupTest" class="com.wxy.ideaplugin.action.ApiTestGroupAction" text="API按组批量测试" description="API按组批量测试">  
23.	       <add-to-group group-id="aicode" />  
24.	    </action>  
25.	    <!--右击菜单"AI低代码"-->  
26.	    <group id="aicode_rightMenu" text="AI低代码" popup="true">  
27.	       <add-to-group group-id="EditorPopupMenu" anchor="after" relative-to-action="ReplaceInPath"/>  
28.	    </group>  
29.	    <!--右击菜单"AI低代码/添加字段"-->  
30.	     <action id="aicode_rightMenu_addField" class="com.wxy.ideaplugin.action.RightMenuFieldAction" description="添加字段" text="添加字段">  
31.	        <add-to-group group-id="aicode_rightMenu"/>  
32.	     </action>  
33.	     <!--右击菜单"AI低代码/API测试"-->  
34.	     <action id="aicode_rightMenu_apitest" class="com.wxy.ideaplugin.action.RightMenuApiTestAction" description="API测试" text="接口测试">  
35.	        <add-to-group group-id="aicode_rightMenu"/>  
36.	     </action>  
37.	  </actions>  
38.	</idea-plugin> 

plugin.xml是xml结构,各节点功能介绍,如下表所示。

节点名称

说明

id

是在jetbrains插件库中定位到你插件的唯一id,在不同版本中,必须保持一致,建议设置值为:包名 + 插件名称

name

插件的名称,显示在 IDEA 已安装插件列表中

vendor

作者信息

description

插件的描述信息,支持html

change-notes

插件版本更新内容说明

version

插件版本号

extensions

用于扩展其他插件功能或者idea平台的功能

idea-version

兼容版本设置,跟build.gradle里的sinceBuild一致即可,意义相同

actions

由用户定义的一个个动作组成。

actions/group

在IDEAL中添加一个菜单栏。如下例:创建一个名为“AI低代码”菜单栏;add-to-group是指将当前菜单栏添加到什么位置?group-id=“MainMenu”是指IDEA主菜单;anchor=“last”是指最后位置。

完整解释:在IDEA的主菜单的最后位置创建一个“AI低代码”的菜单栏,当前group id定义为aicode,供后续action菜单加入使用。

  1. <group id="aicode" text="AI低代码">    
  2.    <add-to-group group-id="MainMenu" anchor="last"/>    
  3. </group> 

actions/action

在IDEAL中添加一个菜单。如下例:创建一个名为“初始化系统”的菜单,菜单点击时执行的类文件是com.wxy.ideaplugin.action.AiCodeAction(后续做详细说明)。菜单位置:通过add-to-group来指定菜单存入于“AI低代码”菜单栏的第一次位置。

  1. <action id="aicode-createSystem" class="com.wxy.ideaplugin.action.AiCodeAction" text="初始化系统" description="初始化系统">    
  2.     <add-to-group group-id="aicode" anchor="first"/>    
  3. </action> 

 4. 如何创建一个新菜单

功能需求:在“IDEA主菜单/AI低代码”菜单下,新增一个“关于”菜单,点击打开“关于”对话框,对话框中显示系统功能的介绍信息。

使用插件“Plugin DevKit”来创建Action类:在需要创建类的java包名上右击,打开右击菜单,依次点击“New/Plugin DevKit/Action”菜单,打开New Action对话框,如下图所示。

  

在New Action对话框中配置如下信息,Class Name:AboutAction(点击菜单执行的类文件),Name:关于(菜单名称)。Add to Group栏:是给当前菜单“关于”指定位置,这里保持空着,后续通过修改plugin.xml文件,将“关于”菜单放入“AI低代码”菜单下,如下图所示。

  

“New Action”对话框中配置完信息后,点击“OK”按钮,会自动创建一个AboutAction类,类中的方法actionPerformed()是空的,待后续创建好UI对话框类后加入其中。plugin.xml中将自动新增一个action,修改该action,加入<add-to-group/>节点,表示将“关于”菜单加入IDEA一级菜单“AI低代码”中,如下所示。

1.	<!--二级菜单:关于--> 
2.	<action id="aicode-about" class="com.wxy.ideaplugin.action.AboutAction" text="关于" description="关于">  
3.	    <add-to-group group-id="aicode" />  
4.	</action> 

使用插件Swing UI Designer来创建IDEA UI对话框,用来弹开显示“关于”对话框信息。首先,在需要创建类的java包名上右击,打开右击菜单,依次点击菜单“New/Swing UI Designer/Create Dialog Class”来创建一个带设计器的Java类包文件:AboutUi,如下图所示。

创建一个AboutUi对话框类,双击该类包下的AboutUi.form文件,打开Swing设计器界面,拖入相关组件,如下图所示。

在AboutUi.java类文件中,加入一段给jTextArea_About赋值的方法,如下所示。该类中默认有main()方法(main()方法中加了窗口大小设置和屏幕居中显示语句),当右击运行该类时:1,会自动重构该类的$$$setupUI$$$()方法,该方法对UI界面的控件进行初始化操作;2,显示界面效果。

1.	public class AboutUi extends JDialog {  
2.	    private JTextArea jTextArea_About;  
3.	    ......  
4.	    public AboutUi() {  
5.	        ......  
6.	        initAbout();  
7.	    }  
8.	  
9.	    private void initAbout() {  
10.	        jTextArea_About.append("......");  
11.	    }  
12.	    ......  
13.	    public static void main(String[] args) {  
14.	        AboutUi dialog = new AboutUi();  
15.	        dialog.setSize(800, 700);  
16.	        dialog.setLocationRelativeTo(null);  
17.	        dialog.setVisible(true);  
18.	        System.exit(0);  
19.	    }  
20.	    ......  
21.	    private void $$$setupUI$$$() {  
22.	    ......  
23.	    }  
24.	}  

当点击“关于”菜单时,实际是执行AboutAction类中的actionPerformed()方法,在该方法中,加入显示“关于”对话框的代码,如下所示。

1.	package com.wxy.ideaplugin.action;  
2.	......  
3.	public class AboutAction extends AnAction {  
4.	    @Override  
5.	    public void actionPerformed(AnActionEvent e) {  
6.	        AboutUi dialog = new AboutUi();  
7.	        dialog.pack();  
8.	        dialog.setSize(800, 700);  
9.	        dialog.setLocationRelativeTo(null);  
10.	        dialog.setVisible(true);  
11.	    }  
12.	}  

安装运行插件(运行方法见本章“运行、打包、安装、发布插件”小节)。点击菜单“IDEA主菜单/AI低代码/关于”打开“关于”对话框,如下图所示。

标签:插件,菜单,对话框,AI,IDEA,AboutUi,开发方法
From: https://blog.csdn.net/xiaoyongboy1010/article/details/145075514

相关文章

  • 美化IDE之修改IDEA启动界面logo图片
    1,关闭运行的IDEA2,在IDEA安装目录下的lib里找到app.jar或者platform-impl.jar(因为不同版本会有区别)复制出来3,解压,找到两个图片idea_logo.png和idea_logo@2x.png,分辨率一个为640x400 一个是1280x8004,把准备好的两个新图片和platform-impl.jar放在一个目录下,然后在此文件夹下打开......
  • IDEA执行sql语句自动将驼峰转化成下划线的解决方案
    问题描述IDEA使用mybatis-plus执行sql语句时,自动将驼峰形式转化成了下划线形式,导致数据库查找不到对应字段产生原因这是因为mybatis-plus是默认开启驼峰转化为下划线的。解决方案打开IDEA,找到application.yml文件,加入mybatis-plus:......
  • idea系列---【idea中的Debug常用功能】
    idea中的Debug常用功能1.方法断点(打在方法上的断点(菱形)):适用场景:当一个接口有多个实现类时,在接口的方法上打个断点,执行到这个方法的时候,就会自动进入使用的实现类的方法里的第一行,可以帮我们快速定位使用的哪个实现类。2.字段断点(打在字段上(眼睛形)):适用场景:观察字段的值被......
  • SD WebUI必备插件安装,菜鸟轻松成高手!
    一个刚学AI绘画的小菜鸟怎么快速成为StableDiffusionde的高手?答案就是SD插件,只要学会使用SD的各种插件,帮你写正向和负向提示词,修复人脸/身体/手指,高清放大图片,指定人物pose,图片微调等等都可以轻松搞定,善用插件是成为高手必经之路。目录1插件安装方法2基础插件介绍3......
  • 前端通过docx-preview和pdfjs插件实现docx、pdf文件在线预览
    docx文件格式在线预览插件:docx-preview安装:npmidocx-preview使用:创建一个容器标签引入并创建渲染函数import{renderAsync}from"docx-preview";renderDocx(){renderAsync(this.fileData,this.$refs.file,null,{className:"docx",//默认和......
  • 从入门到精通:9个插件带你玩转Zotero文献管理!
                                    还在为海量文献管理头疼吗?还在为找不到合适的插件犯愁吗?别急,今天我就要带你解锁Zotero的终极武器-那些让你爱不释手的必备插件!作为一个从小白到文献管理达人的过来人,我可以负责任地说:没有这些插件,......
  • 让Zotero更强大:7个插件帮你打造完美文献库!
                                     还在为海量文献管理头疼吗?还在为找不到合适的插件犯愁吗?别急,今天我就要带你解锁Zotero的终极武器-那些让你爱不释手的必备插件!作为一个从小白到文献管理达人的过来人,我可以负责任地说:没有这些插件......
  • (超详细)Maven安装配置、以及在IDEA中创建Maven项目
    一、登录官网下载MavenDownloadApacheMaven–Maven根据自己所需要进行下载,如果是windows系统就下载zip文件,Linux系统就下载gz文件我下载的版本是3.6.3,下面是网盘链接:百度网盘链接:https://pan.baidu.com/s/1YtoprbKyJJHHForpHptgZA提取码:negv下载后直接解压就行......
  • 这辈子~,不用再换了, IDEA2024.3 : ) : ) : )
    本打算使用社区版的,奈何官网都不让下载了。所以通过各种途径找了方法,这辈子都不用换IDEA了。 1、安装idea(我安装的是2024.3的)安装过程就不说了,网上都有。2、运行工具1)运行去除用户(运行uninstall-all-users)2)运行安装用户(运行install)   3、用码急火......
  • 解决 IntelliJ IDEA 快捷键冲突问题
    解决IntelliJIDEA快捷键冲突问题在使用IntelliJIDEA进行开发时,快捷键是提高效率的重要工具。然而,某些外部软件(如GeForceExperience、网易云音乐等)可能会占用IDEA的快捷键,导致快捷键冲突。本文将总结如何解决快捷键冲突问题,并介绍一些实用的工具和方法。1.常见快捷键......