idea插件开发从0入门idea插件开发,idea插件开发教程,如何开发idea插件(代码片段)

rubik795 rubik795     2023-03-29     516

关键词:

idea插件介绍

作为一枚程序员,平时最常用的ide就是IntelliJ IDEA。平时会用到各种各样的插件,通过插件的使用,提高自己的开发效率。

idea具有全局性,安装好插件后,对idea生效,所有的工程均能找到。

idea使用的便捷性,在固定的菜单中,或者右键即可看到该插件的使用入口

专注度高,展示出来的内容均是自己需要关注的,不需要关注的就不会展示。可以专注思考自己要怎么用。

和系统解耦,插件可以给给开发提效,却不会去占用项目的空间位置。

为什么开发idea插件?

目前已有插件并不能真的完全满足自己的需求。举个简单的栗子,比如,最近在用mybatis plus的generator,配置完成之后,运行main方法,就可以生成ORM代码。新建一个工程,就需要把代码给拷贝过去,然后再重新配置一下,再生成。

缺点:

  1. 过于繁琐,每次都需要去把代码给拷贝过去,然后运行。
  2. 冗余,这个代码对于实际的业务来说,没有任何意义。
  3. 不便捷,代码只能生成在固定地方,否则就得自己去更改配置。然后自己再重复性的去复制过去。
  4. 不便捷,代码放在固定地方,在比较大的工程结构中,自己需要去找。如果新加入的开发不熟悉,并不知道这个在哪,低效。

基于以上思考,就需要开发插件来和系统解耦,达到提效的效果。

开发插件的场景需要准备些什么

  • 首先你需要有一定的开发经验,新手的话,还是需要先学习语言基础,idea的使用等。
  • 有需求场景,知道自己接下来要开发的是一个什么东西,围绕着需求不断地去完善插件
  • 大致看下idea plugin sdk的开发手册,对它能干什么有一个大致的了解。
  • 如果要使用gradle开发,需要对gradle有一定的使用能力。

开发插件流程(最简单的使用场景)

新建项目(使用的最新的idea,创建流程稍有不一样)

配置gradle

最新版的插件开发使用的是kts的gradle插件。基本用法是一样的,不同的是写法有稍微一点不一样。

一些常用的配置

依赖

//顶层结构
dependencies 
    implementation("org.springframework.boot:spring-boot-starter:2.7.0")


// 一般的gradle是 
compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.7.0'

将依赖打进jar包中(不打进去,插件如果有用到依赖,就会无法使用,找不到类)

// 顶层结构
tasks.jar.configure 
    duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.INCLUDE
    from(configurations.runtimeClasspath.get().filter  it.name.endsWith("jar").map  zipTree(it) )

将仓库改为阿里云仓库

// 顶层结构
repositories 
    mavenLocal()
    maven("https://maven.aliyun.com/nexus/content/repositories/central/")
    mavenCentral()

创建第一个action

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;

public class MyAction extends AnAction 
  @Override
    public void actionPerformed(@NotNull AnActionEvent e) 
        Project project = e.getProject();
        Messages.showMessageDialog(project, "this is message content", "this message title", Messages.getInformationIcon());
    

将action配置到plugin中

src -> main -> resource -> META-INF -> plugin.xml

<idea-plugin>
  <!-- 插件的id,该id是唯一的,插件的坐标是一维的,只有一个id。这点和maven的不太一样,maven的是二维坐标 -->
	<id>com.geek45.plugin-demo</id>
  <!-- 插件名字-->
  <name>plugin demo</name>
  <!-- 插件的描述,有固定格式,这里可以写html代码 -->
  <description><![CDATA[
        <h1> Demo plugin </h1>
        测试插件 <br>
        点击插件可以弹出一个弹窗
        <p>
        plugin demo <br />
        <b>
              <a href="https://www.geek45.com">Website</a> |
              <a href="https://github.com/xiaopangzhi795/plugin-demo">GitHub</a> |
          </b>
        </p>
  ]]>
  </description>
  <!-- 这里是插件依赖管理,和gradle的依赖不一回事,可以依赖其他的插件 -->
  <depends>com.intellij.modules.platform</depends>
  <!-- 拓展管理,后续的ui页面会在这里配置,暂时用不到 -->
  <extensions defaultExtensionNs="com.intellij">

  </extensions>
  <!-- action配置,按钮展示在哪里需要在这配置 -->
  <actions>
  	<action class="com.geek45.action.MyAction" id="myAction" text="action" description="this is action demo" >
      <!-- 将插件放在Tools菜单中的first位置。 -->
      <add-to-group group-id="ToolsMenu" anchor="first" />
    </action>
  </actions>
  
</idea-plugin>

打包

gradle中,运行jar命令,就可以把插件打成jar包,在项目根目录中,有build目录,libs中会有打好的jar包。

plugin中,选择本地安装,然后选择刚才打好的jar包,就可以把插件安装到自己的idea中。

本地运行

打包安装太麻烦了,可以选择本地运行的方式进行调试。

选择runIde,就可以本地运行。该命令支持debug运行,debug可以打断点。

运行该命令,会启动一个新的idea,该idea中已经安装了你开发的插件。在该idea中可以直接使用插件,使用过程中,可以在项目里面断点跟进。

新的idea和正常idea操作是一样的,可以打开一个测试code,来测试你的插件是否正常运行。

运行效果

史上最全idea插件开发入门实战(傻瓜式教程)(代码片段)

idea插件开发入门实战文章目录idea插件开发入门实战前言一、书写第一个HelloWorld二、IDEA插件开发进阶1.基于java文件的规则校验2.基于XML文件规则的校验3.基于java文件的代码自动生成方法4.基于XML文件的读写方法5.XML跳转Java文件前... 查看详情

idea开发工具的插件开发(一)入门

...ew一个action文件,如下图操作说明:(1)groups表示自己的插件在对应的那个idea的菜单出现,例子中选择了Help,那么之后,插件开发完成后就可以去help中找到插件(2)后面的Actions和achor表示的具体位置(3)最下面的keyboardshortcut... 查看详情

idea插件开发-helloworld

idea插件开发-helloworld1.本文环境2.新建插件项目build.gradle文件3.新建第一个action4.启动项目并验证插件1.本文环境idea版本=2021.2.2java版本=11电脑=macbook确认是否安装了下面插件:2.新建插件项目使用gradle创建选择位置新建成的项目结... 查看详情

idea工具java开发之常用插件mybatis插件idea安装插件方法

◆freemybatisplugin作用时进行代码跟踪;安装好之后代码上会出现绿色箭头点击就会进入相应的引用的位置上  一、安装插件   查看详情

实践idea插件开发(代码片段)

目录为什么开发idea插件?开发插件流程(最简单的使用场景)配置IntelliJPlatformPluginSDK创建一个插件项目启用PluginDevKit创建一个动作action打包插件安装插件  以前觉得开发idea的人真厉害啊,后来工作中用到各种插... 查看详情

idea入门--lombok和junitgenerator2插件的运用

前言最近在慕课网看到了一些视频,准备从0开始做一个电商网站。视频中的大牛用的java的IDE都是IDEA,让我很纠结。从as到MyEclipse,好不容易稍微熟悉了一下MyEclipse的基本操作,现在又要换IDEA,公司要求的工具是Eclipse。这让我... 查看详情

idea入门(代码片段)

...、提示、重构、审查等;同时它集成了很多默认的第三方插件,如:项目管理工具:maven、gradle、ant等 查看详情

idea插件开发(代码片段)

文章目录前言插件工程创建插件工程结构plugin.xmlPluginActionAction是什么创建Action注册Action快速创建Action运行插件打包插件安装插件PluginComponentsComponents类型创建Component获取Component实例持久化PropertiesComponentPersistentStateComponent注册持... 查看详情

idea插件开发(代码片段)

文章目录前言插件工程创建插件工程结构plugin.xmlPluginActionAction是什么创建Action注册Action快速创建Action运行插件打包插件安装插件PluginComponentsComponents类型创建Component获取Component实例持久化PropertiesComponentPersistentStateComponent注册持... 查看详情

idea插件开发--知识分享插件开发

这篇博客主要分享三方面的内容:1、idea插件开发的基础知识2、搭建一个简易的后台3、实现自己的一个简易插件大的团队协作,每个人都会有自己的一些心得体会或者自己写的方便使用的工具类,自定义view等,当一个新人入职... 查看详情

idea插件开发--知识分享插件开发

这篇博客主要分享三方面的内容:1、idea插件开发的基础知识2、搭建一个简易的后台3、实现自己的一个简易插件大的团队协作,每个人都会有自己的一些心得体会或者自己写的方便使用的工具类,自定义view等,当一个新人入职... 查看详情

idea从零到精通08之idea常用插件提升开发效率

文章目录作者简介引言导航热门专栏推荐概述一、插件安装方式二、在Idea中无法直接安装插件三、常用插件1.ECTranslation2.GrepConsole3.CodeGlance4.NyanProgressBar5.PresentationAssistant6.SequenceDiagram7.AlibabaJavaCodingGuidelines8.RainbowBrackets9.Highl 查看详情

idea插件开发-helloworld(代码片段)

idea插件开发-helloworld1.本文环境2.新建插件项目SDK切换build.gradle文件3.新建第一个action4.启动项目并验证插件爬坑1.本文环境idea版本=2021.2.2java版本=11电脑=macbookm1确认是否安装了下面插件:2.新建插件项目使用gradle创建... 查看详情

idea插件开发(13)---dynamicplugins

...f0c;无需重新启动IDE即可在IntelliJ平台中安装、更新和卸载插件。在插件开发期间,Auto-Reload还允许代码更改在沙盒IDE实例中立即生效。要测试动态安装是否正常工作,请验证安装本地构建分发是否成功(请参阅故障排... 查看详情

vue入门

...识点使用的开发工具是webstorm,它是默认就安装好了vuejs插件,idea要使用的话,需要安装一下该插件一、快速搭建项目vue-cli脚手架(Vue2.0)因为相信,所以看见. 查看详情

使用这些idea插件让开发效率提高5倍

idea有很多非常好用的插件,用好了这些插件能够极大的提高开发效率插件用的好,bug就追不上了我??0.idea插件如何安装打开idea的设置页面,选择Plugins选项即可搜索和安装插件1.JRebelforIntelliJ日常开发中,当你修改任意一个java文... 查看详情

强烈推荐16款idea插件,让你的开发速度飞起来!

...s)当前使用的IDEA版本是2020.1。随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐。以下列举的,都是亲测可以在2020.1版本的IDEA中使用的插件。1google-java- 查看详情

强烈推荐16款idea插件,让你的开发速度飞起来!

...s)当前使用的IDEA版本是2020.1。随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐。以下列举的,都是亲测可以在2020.1版本的IDEA中使用的插件。1google-java- 查看详情