精华内容
下载资源
问答
  • 2021-09-06 14:57:13

    Idea插件官网下载插件并安装

    为了解决Idea中Plugins功能转不出来,如下图
    在这里插入图片描述
    在开始操作之前可以先试试以下方法能不能使Idea成功加载Plugins功能,执行下图操作后,重启试试,一般都能转出来,如果不行,直接去官网下载插件本地安装。
    在这里插入图片描述

    Idea插件官网下载插件并安装

    点击https://plugins.jetbrains.com/进入插件官网,搜索需要的插件
    在这里插入图片描述
    选择需要的版本下载
    在这里插入图片描述
    打开Idea-》Plugins,选择从硬盘上安装插件
    在这里插入图片描述
    直接选择下载的那个zip包即可,不需要解压
    在这里插入图片描述


    注意:操作过程中可能会有遇到如下情况
    在这里插入图片描述
    意思就是插件与jetbrains的软件版本不兼容,这个时候我们需要根据自己Idea的软件版本下载对应版本的插件。先查看软件版本
    在这里插入图片描述
    在这里插入图片描述
    根据软件版本的两个大版本号找到对应版本的插件,然后继续操作即可
    在这里插入图片描述

    更多相关内容
  • IntelliJ IDEA插件开发基础(中文).pdf
  • idea插件编写

    千次阅读 2021-12-11 15:35:02
    idea插件编写 idea插件编写 准备工作:添加对应版本的JDK 编写插件 第一步:创建IntelliJ Platform Plugin项目 第二步:配置plugin.xml,填写基本信息 第三步:编写插件、配置插件 方式一:完全手动 方式二:...

    idea插件编写


    准备工作:添加对应版本的JDK

    编写插件时,不同版本的IntelliJ IDEA,对JDK的版本要求不同。本人使用的是2021版本的IntelliJ IDEA进行的插件编写,需要设置JDK11

    在这里插入图片描述
    在这里插入图片描述

    编写插件

    第一步:创建IntelliJ Platform Plugin项目

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    第二步:配置plugin.xml,填写基本信息

    <idea-plugin>
        <!-- 插件唯一id,不能和其他插件id重复 -->
        <id>com.idea-aedi.plugin</id>
    
        <!-- 插件名称(在插件市场搜索插件时,搜索的就是这个名称) -->
        <name>JustryDeng</name>
    
        <!-- 版本号 -->
        <version>1.0</version>
    
        <!-- 供应商主页和email -->
        <vendor email="13548417409@163.com" url="https://gitee.com/JustryDeng/projects"/>
    
        <!-- 插件描述,支持HTML标签 -->
        <description><![CDATA[
            JustryDeng common plugin, Welcome to use.
            ]]></description>
    
        <!-- 插件版本变更信息,支持HTML标签; 将展示在 settings | Plugins 对话框和插件仓库的Web页面 -->
        <change-notes><![CDATA[
            <ul>
                <li>since 2021-12-11</li>
            </ul>
            ]]></change-notes>
    
        <!--
            插件兼容IDEA的最大和最小 build 号,两个属性可以任选一个或者同时使用,
            please see https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html for description
        -->
        <idea-version since-build="173.0"/>
    
        <!-- 插件所依赖的其他插件的id -->
        <depends>com.intellij.modules.platform</depends>
        <depends>com.intellij.modules.lang</depends>
        <depends>com.intellij.modules.java</depends>
     
        <extensions defaultExtensionNs="com.intellij">
            <!-- Add your extensions here -->
        </extensions>
    
        <actions>
            <!--
                !!!!!! 这部分内容需要在下面的步骤中配置(手动配置、或借助插件开发助手自动配置) !!!!!!
            -->
        </actions>
    
    </idea-plugin>
    

    第三步:编写插件、配置插件

    方式一:完全手动

    • 第一步:编写想要实现的功能类,需要继承com.intellij.openapi.actionSystem.AnAction

      import com.intellij.openapi.actionSystem.AnAction;
      import com.intellij.openapi.actionSystem.AnActionEvent;
      import com.intellij.openapi.actionSystem.PlatformDataKeys;
      import com.intellij.openapi.project.Project;
      import com.intellij.openapi.ui.Messages;
      
      public class HelloAction extends AnAction {
          
          @Override
          public void actionPerformed(AnActionEvent event) {
              // your logic
              Project project = event.getData(PlatformDataKeys.PROJECT);
              String txt= Messages.showInputDialog(project, "What is your name?", "Question", Messages.getQuestionIcon());
              Messages.showMessageDialog(project, "Hello, " + txt + "!\nI am glad to see you.", "Information", Messages.getInformationIcon());
          }
      }
      
    • 第二步:配置plugin.xml中的actions`

      提示:为了示例的多样性,这里给出两个配置示例

      <!-- 
          提示:action标签和group标签的id字段值自取即可
       -->
      <actions>
          <!--
              示例一:在MainMenu菜单下的HelpMenu菜单里,最前面增加一个叫'Hello'的按钮
          -->
          <action id="com.idea-aedi.plugin.Hello" class="com.example.ideaplugin.HelloAction" text="Hello"
                  description="Say hello.">
              <!--  指定父节点 action 或 action group 被添加到的位置 -->
              <add-to-group group-id="HelpMenu" anchor="first"/>
          </action>
      
          <!--
              示例二:在MainMenu菜单的最后面,增加一个 叫'JustryDeng'的菜单,其中字母J带下划线
          -->
          <group id="com.idea-aedi.plugin.JustryDeng" text="_JustryDeng" description="JustryDeng's common util.">
              <!--  指定父节点 action 或 action group 被添加到的位置 -->
              <add-to-group group-id="MainMenu" anchor="last"/>
              <!-- 当前菜单下,再添加一个叫'Say Hey'的按钮,其中字母S带下划线 (注:当然还可以嵌套菜单) -->
              <action id="com.idea-aedi.plugin.JustryDeng.Hello" class="com.example.ideaplugin.HelloAction" text="Say _Hello" description="Say hello."/>
          </group>
      </actions>
      

    方式二:借助IDEA插件开发助手IDEA Plugin DevKit Helper,半自动

    插件开发助手,可以在帮助我们快速创建Action并在plugin.xml中作对应的配置,而不需要我们手动配置。

    • 第一步:安装IDEA插件开发助手IDEA Plugin DevKit Helper在这里插入图片描述

    • 第二步:使用插件开发助手创建Action在这里插入图片描述

    • 在这里插入图片描述

    其中设置插件位置处里,Action代表一个"按钮",Group代表菜单,Group里可能有多个Action;先选择一个Group或者一个Action,然后选择Anchor位置,即可通过相对位置的方式,将插件的位置确定下来了。比如说需要将按钮设置在Help菜单的最上面:
    在这里插入图片描述

    点击OK,插件开发助手就会创建对应名字的AnAction类,同时会将新按钮的信息(按钮id、AnAction类、按钮名称、描述、位置等信息)添加进plugin.xml中的actions标签里。

    • 第三步:在生成的AnAction类中编写逻辑

      import com.intellij.openapi.actionSystem.AnAction;
      import com.intellij.openapi.actionSystem.AnActionEvent;
      import com.intellij.openapi.actionSystem.PlatformDataKeys;
      import com.intellij.openapi.project.Project;
      import com.intellij.openapi.ui.Messages;
      
      public class HelloAction extends AnAction {
          
          @Override
          public void actionPerformed(AnActionEvent event) {
              // your logic
              Project project = event.getData(PlatformDataKeys.PROJECT);
              String txt= Messages.showInputDialog(project, "What is your name?", "Question", Messages.getQuestionIcon());
              Messages.showMessageDialog(project, "Hello, " + txt + "!\nI am glad to see you.", "Information", Messages.getInformationIcon());
          }
      }
      

    常用group-id说明

    • MainMenu:主菜单
      在这里插入图片描述

    • CutCopyPasteGroup:左侧导航栏菜单
      在这里插入图片描述

    • EditorPopupMenu:右侧代码栏菜单
      在这里插入图片描述

    • GenerateGroup:按alt + insert时弹出的菜单栏在这里插入图片描述

    第四步:运行、调试插件

    在这里插入图片描述

    运行插件时,会新打开一个idea:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    测试一下功能,也是OK的:

    在这里插入图片描述

    在这里插入图片描述

    第五步(可选):引入依赖

    在我们实际开发idea插件过程中,可能还会需要其它的依赖,这时可采用官方推荐的gradle创建idea插件的方式,但是会略显麻烦;简单的,你可以直接将依赖的lib包as library引入进当前项目即可:

    在这里插入图片描述

    在这里插入图片描述

    检查一下:

    在这里插入图片描述

    第六步:打包插件

    在这里插入图片描述

    注:如果项目有依赖其它jar包,那么打出来的就不是jar包,而是zip包了。

    第七步:安装插件

    如果插件有发布到插件市场,那么可以直接在线从插件市场安装;如果插件没有发布到插件市,那么可以采用下面这种从磁盘安装的方式进行安装。

    打开File | Settings | Plugins,选择从磁盘安装:

    在这里插入图片描述

    选中插件包后,可看到:

    在这里插入图片描述

    点击OKApply重启idea完成安装

    相关补充

    idea如何打开一个现有的插件项目

    • 问题所在

      如果你使用idea直接打开一个plugin项目,那么可能是这样的(没有被idea认出来是插件项目):

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OgERA2Ab-1641397282887)(../repository/image-20220105232253811.png)]

      而实际的插件项目是这样的(有被idea认出来是插件项目):

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KVCvwyVz-1641397282888)(../repository/image-20220105232403343.png)]

    • 解决办法

      直接修改项目的.iml文件:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4m9Zu1E0-1641397282889)(../repository/image-20220105233134683.png)]
      将type修改为PLUGIN_MODULE,并通过增加<component name="DevKit.ModuleBuildProperties" url="file://$MODULE_DIR$/resources/META-INF/plugin.xml" />来指定plugin.xml的位置:

      修改前:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7koaa62-1641397282890)(../repository/image-20220105232702072.png)]
      修改后:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZRg2ebtn-1641397282890)(../repository/image-20220105233027578.png)]
      此时,再观察项目,会发现idea已经识别出是插件项目了:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vkyrtpom-1641397282891)(../repository/image-20220105233345725.png)]

    发布插件到插件市场(手动发布)

    提示:如果使用的gradle编写构建的插件,那么可以使用gradle集成的能力,自动将插件发布到插件市场,而不需要手动发布。

    • 第一步:访问https://plugins.jetbrains.com/

    • 第二步:登录(支持多种方式登录,本人常用Github登录)在这里插入图片描述

    • 第三步:上传插件在这里插入图片描述
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ka4tJkdg-1641570511944)(../repository/image-20220107234623239.png)]

    • 第四步:等审核通过后,就可以在插件市场搜索到你的插件了


    相关资料

    展开全文
  • 俗话说:"工欲善其事必先利其器",小帅从项目实战的角度在众多的idea插件中挑选了10款开发必备的神器,帮助大家在日常工作学习编码中提升开发效率。 1 Key Promoter X 实用指数:★★★★★ 装逼指数:★ 你还...

     号外号外!《死磕 Java 并发编程》系列连载中,大家可以关注一波:

    「死磕 Java 并发编程05」阿里面试失败后,一气之下我图解了Java中18把锁

    「死磕 Java 并发编程04」说说Java Atomic 原子类的实现原理

    「死磕 Java 并发编程03」阿里二面,面试官:说说 Java CAS 原理?

    「死磕 Java 并发编程02」面试官:说说什么是 Java 内存模型(JMM)?

    「死磕 Java 并发编程01」10张图告诉你Java并发多线程那些破事

    大家好,我是雷小帅,今天给大家推荐开发利器,保证你效率蹭蹭蹭上升。

    俗话说:"工欲善其事必先利其器",小帅从项目实战的角度在众多的idea插件中挑选了10款开发必备的神器,帮助大家在日常工作学习编码中提升开发效率。

    1 Key Promoter X

    实用指数:★★★★★

    装逼指数:★

    你还在为记不住快捷键烦恼吗,Key Promoter X可以帮助你快速记住常用的快捷键。当你在idea中用鼠标点击菜单,它可以显示对应的快捷键以及点击次数。使用一段时间后有助于过渡到更快、无鼠标的开发。

    2 Alibaba Java Coding Guidelines

    实用指数:★★★★★

    装逼指数:★★

    这是阿里巴巴官方出品的一款代码静态检查插件,它可以针对整个项目或者单个文件进行检查,扫描完成后会生成一份检查报告,根据报告修改代码。

    3 CodeGlance

    实用指数:★★★

    装逼指数:★★

    安装完之后会在代码编辑区的右上角显示一个缩小预览区,类似于王者荣耀或者LOL的地图功能。如果一个文件有上千行代码,可以直接在预览区里拖动快速定位到对应的代码行。

    4 Maven Helper

    实用指数:★★★★★

    装逼指数:★★

    这是一款使用Maven管理项目的必装插件,主要用于分析项目jar依赖关系,可以快速找出冲突的jar包。

    5 Lombok

    实用指数:★★★

    装逼指数:★★★

    Lombok是一个充满争议的工具,大家可以结合它的优缺点谨慎选择。在项目有很多POJO类,每个POJO类有大量的getter/setter/toString代码,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。

    如果一个项目中依赖了lombok,那么需要在idea中安装lombok插件,否则项目会报错。

    关于Lombok的常用注解如@Data@Setter@Getter等的使用方法大家可以上网搜索。

    6 JavaDoc

    实用指数:★★★★

    装逼指数:★★

    在项目中经常要求写代码注释,否则不能通过代码门禁,JavaDoc工具可以一键生成注释。

    插件安装成功后在菜单栏 code -> JavaDocs可以找到

    自动生成注释效果如下:

    7 .ignore

    实用指数:★★★★★

    装逼指数:★

    项目开发中通常会使用到git进行版本管理,在提交代码时经常有人将本地的不必要的文件提交到代码仓库中,使用.ignore插件可以很好解决这个问题。插件安装完成后会在项目中生成一个.ignore文件,编辑该文件忽略一些动态生成的文件,如class文件,maven的target目录等。

    8RainbowBrackets

    实用指数:★

    装逼指数:★★★★★

    彩虹括号,代码中有多个括号会显示不同的颜色。

    9 Activate-power-mode

    实用指数:★

    装逼指数:★★★★★

    在敲代码时有抖动酷炫的特效,非常适合给前端小姐姐表演特技。(坏笑)

    10 Grep Console

    实用指数:★★★★

    装逼指数:★★

    运行项目后在console(控制台)输出日志,通过配置不同日志级别的颜色,可以很明显的识别错误信息,便于项目调试。

    如果在线安装插件失败可以尝试离线安装,100%成功哦。微信搜索公众号:爱笑的架构师,关注后回复关键字:插件,即可获得所有的插件安装包。

    附:离线安装插件步骤

    第一步:

    第二步:选择下载好的插件包;

    第三步:重启idea即可生效。

    总结

    我把大学和工作中用的经典电子书库(包含数据结构、操作系统、C++/C、网络经典、前端编程经典、Java相关、程序员认知、职场发展)、面试找工作的资料汇总都打包放在这了,这套资源可不是一般那种网上找的资源,是伴随我从学生一路到职场,非常宝贵!

    已经打包好了,点击链接获取

    大家学会了吗?收藏等于白嫖,点赞才是真爱,雷小帅感谢大家~~~

    作者:雷小帅

    推荐一个Github 开源项目,『Java八股文』Java面试套路,领取 10G 免费学习资料,Java进阶学习,打破内卷拿大厂Offer,升职加薪!

    作者简介:

    ☕读过几年书:华中科技大学硕士毕业;
    😂浪过几个大厂:华为、网易、百度……
    😘一直坚信技术能改变世界,愿保持初心,加油技术人!

    微信搜索公众号【爱笑的架构师】,关注这个对技术有追求且有趣的打工人。

    展开全文
  • Idea插件开发(一)——插件基础认识 Idea插件开发(二)——插件分类总结 Idea插件开发(三)——插件创建和发布 接下来直接上手开发,这里要注意我现在开发的时间是2020年中,使用的IntelliJ Idea版本为2020.1,这...

    Idea插件开发(一)——插件的分类及基础认识
    Idea插件开发(二)——插件的创建打包及发布
    Idea插件开发(三)——插件JSL的完整开发过程

    上一篇简单介绍了插件的基本知识,接下来直接上手开发,要注意我现在开发的时间是2020年中,使用的IntelliJ Idea版本为2020.1,这是一个大版本更新,IDEA居然开始官方支持中文了你敢信。因为目前官网推荐开发插件的是这个版本,所以开发时请注意尽量以官方推荐的版本为主。

    开发准备

    工欲善其事必先利其器,我们开发插件首先要准备好自己的开发工具:

    • 为IntelliJ Platform开发插件可以使用【IntelliJ IDEA社区版】或者【IntelliJ IDEA旗舰版】作为开发IDE
    • 平台支持三种可用于构建插件的工作流程。
    • 对于新项目,建议的工作流程是使用GitHub模板或使用Gradle从头开始创建所有内容。
    • 旧的Plugin DevKit工作流程仍支持现有项目,这里解释一下DevKit模式很简单,直接用IDEA创建即可。

    项目构建准备

    • 准备好开发工具就可以开始构建项目了,不过我先说一下我被坑的经历,一开始我完全按照上述官方文档的说明,我以为GitHub模板作为第一个推荐方式应该很快就能上手,但是经过实践操作后我发现官方提供的GitHub模板是针对Kotlin开发的,而我要基于Java开发因此操作起来并不顺手(虽然只要删改一下就能用),最后我选择推荐的第二种Gradle构建插件项目,过程很简单,期间因为网络问题耗费了些时间。
    • 至于第三种使用DevKit开发插件我也实践了一遍,基本网上的教程都是用这种方式构建的,上手简单但是从项目角度说并不方便,比如依赖的添加,编译打包和发布都没有Gradle方便,所以我比较推荐使用Gradle来构建插件项目,官方也推荐使用Gradle。

    PS:使用Gradle和DevKit构建项目我都会演示一遍,构建开始前还有个小提示,官方其实提供了很多插件的Demo,基本的类型都有,可以在GitHub案例地址下载使用。

    一、开始使用Gradle构建

    首先我们使用IntelliJ Idea构建Gradle插件项目,如使用普通的DevKit构建请跳过本段。您也可以参考官方文档
    官文一上来就说Gradle是用于创建IntelliJ Platform插件的首选解决方案,而且Idea其实也本身就自带了Gradle的插件。

    1. 创建项目,注意自己的版本是否是官方推荐的版本
      1

    2. 点击Create New Project,左栏选择Gradle,右边选择 JavaIntelliJ Platform Plugin,注意上方Project SDK要选当前环境的,我这里本地安装的是JDK1.8,然后下一步next2

    3. 填写项目信息,以下来自官方提示:

    • GroupId 通常是Java程序包名称,用于project.group项目build.gradle文件中的Gradle属性值。对于此示例,输入com.your.company。
    • ArtifactId 是项目JAR文件的默认名称(无版本)。它也用于rootProject.name项目settings.gradle文件中的Gradle属性值。对于此示例,输入my_gradle_plugin。
    • Version 用于文件中的Gradle属性project.version值build.gradle。对于此示例,输入1.0。
    • Name 字段将与指定的ArtifactId自动同步。
    • Location 中指定新项目的路径。
      以下为我填写的示例:3
    • 然后单击“ 完成”以继续并生成项目,查看项目结构是否完整,并且控制台不报错。4
    1. 这里要注意,如果你是第一次使用是需要加载ideaIC的,这个文件其实就是IntelliJ Idea社区版,在插件调试时Idea会同步启动一个安装了插件的社区版Idea,(DevKit构建的项目不指定社区版默认将会同步启动一个原生的本地Idea(类似容器)用于热加载插件,如果你的Idea为旗舰版就会启动另一个新的旗舰版),上述由于ideaIC比较大,因此在下载ideaIC过程中很大可能会出现加载超时导致失败的情况,我第一次加载花了接近一个小时才下载完,所以你可能要注意:
    • build失败显示超时建议更换网络尝试,还不行的查看这里
    • 我本地build总共耗费了大约1小时用来加载ideaIC-2020.1.1.zip文件,为确保成功率,还需进行如下配置:
      (1)在项目根目录新建gradle.properties文件
      (2)添加jvm参数:org.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m防止加载过程中发生内存溢出build_config

    如图是我第一次使用Gradle构建的插件项目,前后等了接近一个小时,看到这个1h 7m 15s令人奔溃,其实后面我发现这个文件是可以手动下载的,具体可以查看这里,就是有点复杂。5

    因为我已经下载过,所以这里就不再进行上述多余的gradle.properties配置了,我们继续往下
    5. 到此Gradle项目已经创建完毕,接下来我们主要看一下默认的配置文件,因为项目是用Gradle创建的,而Gradle类似于Maven但是比Maven更强大,相同的是依赖都写在配置中,如下:
    build.gradle文件

    plugins {
        id 'java'
        id 'org.jetbrains.intellij' version '0.4.21'
    }
    
    group 'cn.feelcode'
    version '0.9'
    sourceCompatibility = 1.8
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }
    
    // See https://github.com/JetBrains/gradle-intellij-plugin/
    intellij {
        version '2020.1'
    }
    /*patchPluginXml {
        changeNotes """
          Add change notes here.<br>
          <em>most HTML tags may be used</em>"""
    }*/
    

    简单解释一下配置文件中的信息:

    • 该配置文件显式声明了Gradle的两个插件:
      -Gradle Java
      -gradle-intellij-plugin
    • group值来自前面向导中配置的project.GroupId
    • version值来自前面向导中配置的project.Version
    • sourceCompatibility注入以使用Java 8 JDK来编译Java源代码(如果没有生成也不要紧)
    • 文件中唯一的注释是指向gradle-intellij-plugin的自述文件
    • intellij.version指定用于构建插件的IntelliJ平台的版本。它默认是你当前创建项目的IntelliJ IDEA版本
    • patchPluginXml.changeNotes值设置为占位符文本。注意,我经过测试发现此处配置的内容会在Gradle build时引用并且覆盖plugin.xml中的版本信息配置,导致plugin.xml中的<change-notes>标签失效,为了保持plugin.xml的独立和通用,这里我就屏蔽处理。当然你也可以将版本更新信息写在这里,同时它还支持HTML语法,修改build.gradle的内容要记得刷新Gradle。
    1. 到这里关于Gradle构建插件项目就基本完成了,我们再来回顾一下在Idea插件开发(一)插件内容描述的内容:最终打包的插件包括配置文件plugin.xml、插件功能实现的代码、插件的图标。而当前系统已经生成了默认的plugin.xml在\JpaSqlLog\src\main\resources\META-INF\plugin.xml,插件图标和功能实现暂时不需考虑,现在我们可以直接通过Gradle运行该插件。
      点击IntelliJ Idea右边工具栏的Gradle,如图点击runIde即可启动插件环境在这里插入图片描述

    系统开启了一个新的IntelliJ Idea界面,通过查看版本我们发现,这就是刚开始Gradle加载的社区版即IntelliJ Idea Community在这里插入图片描述

    此时可以创建或者导入一个项目,和普通的项目开发一样,区别就是它预先加载了当前开发的插件,因为我们新构建的插件没有实际内容这里不再演示。下一篇我们正式开始构建插件内容。
    7. 插件构建完毕后经过功能开发最终我们要打包发布出去,Gradle支持本地打包和提交到插件存储库,这就是Gradle的优势。
    在这之前我们需要先完善一下插件基本信息,如果插件的信息不符合规则将打包失败31
    注意plugin.xml中红框部分,必须填写自己的信息,如果使用默认值打包将失败。

    • 本地打包:
      选择右边栏Gradle,如图双击buildPlugin在这里插入图片描述

    执行成功默认会在项目根目录创建build文件,打包后的插件就在\build\distributions目录下。无依赖的插件是JAR包,带有依赖的插件是ZIP格式。无论哪种都可以直接在IDEA Plugin中安装。打开File➡Settings➡Plugins,选择齿轮按钮,选择Install Plugin from Disk(从本地磁盘中安装)在这里插入图片描述

    选择\build\distributions下的JAR包或者ZIP包即可。23

    也可以将打包的插件提交到Marketplace,需要注册Jetbrains账号27

    注册登录后点击右上角Upload plugin提交插件28

    选择插件文件,选择License以及标签,点击Upload即可上传至Marketplace,系统审核后就能在Marketplace中搜索到插件下载使用了。

    • 推送到插件存储库:
      除了上述的手动提交到插件存储库的方式,Gradle还支持直接将本地的插件发布到提交到插件存储库中,前提是已经手动提交过一次。首先需要获取token,登录你的Jetbrains账号,创建Token,点击New token24
      Name自己定义,Scope选择Marketplace25

    点击Create创建Token,在弹框中复制Token,注意这个Token只在这个弹框中明文显示,需要拷贝下来,否则后续无法再复制。26

    回到IDEA,打开build.gradle,添加如下代码:

    publishPlugin {
        channels = 'Stable'
        token = '这里填写你拷贝的token值'
    }
    

    其中channels表示发布渠道,包含alpha、stable、beta、eap,token中填写你刚才拷贝的token值,注意在提交到开源仓库时清除token值29

    如果你是在类Unix系统环境可以通过export ORG_GRADLE_PROJECT_intellijPublishToken='YOUR_HUB_TOKEN_HERE'将token设置到本地环境变量中,然后修改如下代码获取token

    publishPlugin {
        channels = 'Stable'
        token = System.getenv("ORG_GRADLE_PROJECT_intellijPublishToken")
    }
    

    这样更加安全方便。接下来只需要使用Grandle的一键发布就能将插件发布到插件存储库了
    你可以直接点击上图publishPlugin左边的绿色启动键执行发布任务,也可以找到右边栏Gradle中的publishPlugin双击即可发布插件。在这里插入图片描述

    注意:publishPlugin发布成功的前提是已经手动提交过一次插件,否则会报错:

    * What went wrong:
    Execution failed for task ':publishPlugin'.
    > Failed to upload plugin
    

    二、开始使用DevKit构建

    DevKit模式是很常见的Idea插件的构建方式,它可以让我们快速上手插件开发,网络上很多插件开发的指南都是这种方式。在官方开发文档中DevKit开发指引的第一句就直接明了的告知开发者不要使用DevKit模式开发新的插件了。但是我们知道Idea的众多优秀插件开发时间比较早,他们大多基于DevKit模式构建,而我们开发一个新插件也基本会去参照以前的插件代码,了解DevKit的开发模式还是有必要的。其实在本质上不管什么模式构建项目并不重要,插件存在的意义是提供辅助功能,并且这两种方式也仅仅是构建项目和打包发布上的差别而已,同时官方也提供了将DevKit迁移至Gradle的方法。那么接下来我们开始使用IntelliJ Idea构建DevKit插件项目,您也可以参考官方文档

    1. 开发条件
    • IntelliJ Idea社区版(IntelliJ IDEA Community Edition)(非必要,推荐安装),在使用Gradle构建中是必要的,在DevKit构建中有无社区版都可以,官方说明是最好有。
    • 安装并开启插件Plugin DevKit,默认是安装并开启的,如下图:8
    1. 配置IntelliJ Platform SDK
      配置IntelliJ Platform SDK是必须的,这一步是为了创建一个插件的构建环境,这里可以选择使用社区版(IntelliJ IDEA Community Edition)或者旗舰版(IntelliJ IDEA Ultimate),按照如下图步骤进行配置:
    • 在已打开项目的Idea中配置:直接点击如图右上角按钮或者点击菜单栏File ➡ Project Structure9
    • 在未打开项目的Idea中配置:点击Configure ➡ Structure for New Projects10
      点击左边栏Project,点击Project SDK下拉框,选择Add SDK,选择IntelliJ Platform Plugin SDK11
      选择你的IntelliJ IDEA社区版(Community Edition)旗舰版(Ultimate),我这里选择旗舰版安装地址。如果你需要调试IDEA源码,请选择社区版,并在后续配置中添加社区版源码包。12
      选择JDK版本13
      完成配置14
      如果你在前面选择的是社区版,那么还需要多一步配置,选择新添加的SDK(社区版显示为IntelliJ IDEA IC-,我前面选择了旗舰版所以显示为IntelliJ IDEA IU-),选择Sourcepath,点击右边的 + 号,选择你的社区版源码目录即可。15
      社区版Github源码下载地址,从源码启动IDEA相关说明地址,该地址可能过期,我截取启动方式的说明放在这儿,就算后续升级应该也不会有太大出入:
    Running IntelliJ IDEA
    To run the IntelliJ IDEA built from source, choose Run | Run from the main menu. This will use the preconfigured run configuration "IDEA".
    
    To run tests on the build, apply these setting to the Run | Edit Configurations… | Templates | JUnit configuration tab:
    
    Working dir: <IDEA_HOME>/bin
    VM options:
    -ea
    -Djava.system.class.loader=com.intellij.util.lang.UrlClassLoader
    -Didea.config.path=../test-config
    -Didea.system.path=../test-system
    You can find other helpful information at http://www.jetbrains.org. The contribute section of that site describes how you can contribute to IntelliJ IDEA.
    

    关于IC和IU的说明:

    IC IntelliJ IDEA Community Edition ,IDEA社区版。社区版是开源的,任何人都可以为社区版做贡献。

    IU IntelliJ IDEA Ultimate ,IDEA旗舰版。旗舰版是付费版本,提供更完整的开发体验。这两个版本的IDE就像当年的Eclipse和My Eclipse一样。

    上面我们开发插件配置的开发环境中关于SDK的配置涉及IC和IU的选择,我认为对于开发普通插件的人来说直接选择IU就好了,当然前提是你的Idea是旗舰版,选择旗舰版IU的好处就是使用DevKit构建插件项目时不需要再下载社区版以及社区版源码了。如果涉及一些源码的调试,最好选择社区版。
    1. 配置好了环境现在可以开始创建项目了,点击Create New Project,点击左边栏的IntelliJ Platform Plugin,右边上方选择刚才创建的SDK,点击Next下一步16
    2. 填写项目名称和项目地址,下方More Settings展开可以修改Module的地址等相关配置,默认就可以了,点击Finish完成配置。17
    3. 完成,默认会打开插件的核心配置文件,左边栏project结构可以看到src代码目录和resources资源目录,相比Gradle构建目录清爽很多。18
      点击右上角绿色启动按钮可启动插件,同样的支持调试Debug模式启动,。随后将打开一个包含当前插件的IDEA,因为我配置的是旗舰版所以会启动一个新的旗舰版IDEA,如果在之前的步骤中配置的是社区版则会启动一个社区版IDEA。
    4. 打包插件,如图点击菜单栏的Build,选择最后一个Prepare Plugin Module ‘XXX’ For Deployment19
      打包成功右下角会提示,并且默认在项目根目录生成了插件的JAR包。打包后的插件可直接在IDEA的Plugin中本地安装使用,后续也可以发布到IDEA Plugin市场中。

    三、结束语

    本文详细阐述了 GradleDevKit 两种模式创建插件的方法和步骤,通过对比不难看出,Gradle在依赖处理、打包发布方面确实方便很多,从开始构建到最终的发布基本可以实现自动化,这就是它的好处,也是为什么官方推荐的原因,个人认为在JAVA开发领域Gradle逐步发展完善后可以完全取代Maven。
    配置好开发环境,了解插件的开发、打包、发布过程,下一篇将开始介绍插件JSL的完整功能开发过程。

    展开全文
  • idea插件开发入门实战 文章目录idea插件开发入门实战前言一、书写第一个Hello World二、IDEA插件开发进阶1.基于java文件的规则校验2.基于XML文件规则的校验3.基于java文件的代码自动生成方法4.基于XML文件的读写...
  • Idea插件开发教程

    万次阅读 2021-07-09 18:55:50
    1. 开发环境搭建 1.1 IDE 使用idea社区版即可。 1.2 配置Plguin SDK 打开Project Structure设置面板,找到Platform Settings/SDKs: ...创建多个SDK的目的主要是用于同时开发调试多个插件时,可以通过配置不同的S
  • IDEA插件开发

    千次阅读 2022-01-05 00:39:53
    1 问题IDEA中内置多种插件,使我们在代码的开发过程中更加方便快捷。本文对环境配置和基础插件开发进行了讲解说明。2 方法下载IntelliJ IDEA Community Edition...
  • IDEA插件分享

    千次阅读 2021-12-01 08:40:34
    文章总结了一些我日常使用的IDEA插件,本文仅做备忘录使用,防止重装IDEA后插件丢失。 一、实用类 1.CSDN tools 推荐原因: (1)插件支持JSON格式化、JSON树形视图、JSON实体类生成(这个功能强烈推荐) (2)...
  • idea插件开发入门

    万次阅读 2020-05-24 20:23:10
    idea插件开发入门插件用途工程创建配置文件Action实现开发语法常用对象常用方法运行效果打包及安装发布插件 插件用途 效率提升:JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现...
  • Mybatis Log Plugin插件用于查看Mybatis所执行的完整SQL语句。在此教程中详细介绍IDEA插件Mybatis Log Plugin的安装及其使用。
  • Idea 插件下载缓慢,无法下载的解决方式

    千次阅读 多人点赞 2022-02-11 16:39:40
    要给idea装一个插件,但今天的idea死活下不下来插件,总报错 Plugin "JProfiler" was not installed: Cannot download 'https://plugins.jetbrains.com/pluginManager/?build=IU-211.7442.40&id=JProfiler&...
  • IDEA 插件开发 创建一个控制台窗口

    千次阅读 2020-08-18 15:39:30
    文章目录IDEA 插件开发 创建一个控制台窗口 IDEA 插件开发 创建一个控制台窗口 package com.wretchant.fredis.util; import com.intellij.openapi.project.Project; import com.intellij.openapi.wm.ToolWindow; ...
  • 推荐几个好用的IDEA插件_让你解放双手的秘密

    万次阅读 多人点赞 2020-10-06 09:04:57
    今天给大家介绍几个常用的IDEA插件,能给大家在枯燥的IDE里带来更好的coding体验。主要有阿里巴巴编程规范插件、翻译插件、代码自动补全插件、代码快速预览插件和mybatis辅助插件。
  • 好用的IDEA插件推荐,提升你的开发效率

    千次阅读 多人点赞 2022-04-16 17:21:54
    在茫茫的插件海中,结合我这些年的使用总结,给大家推荐几款IDEA插件 1. 代码规范类 1.1 Alibaba Java Coding Guidelines 介绍 首当其冲的必定是阿里的代码规范插件Alibaba Java Coding Guidelines,从我还是小白时...
  • idea插件

    千次阅读 2019-03-13 10:34:51
    idea插件下载地址:https://plugins.jetbrains.com/ 1.free mybaits plugin 实现dao与mapper之间跳转(安装即用) 2.better mybatis generator 自动生成vo,dao,mapper(上篇有介绍) 3.findbugs 自动发现可能存在...
  • Idea插件开发(一) 本篇文章基于IntelliJ Platform SDK DevGuide抽取主要部分内容。官方详细开发文档请移步官方文档 我们知道JetBrains有一大堆的开发工具,比如IntelliJ IDEA,从17年开发发现这个强大的IDE后我...
  • IDEA插件使用方法总结(自用)

    千次阅读 2022-03-29 09:20:13
    学习JAVA过程中,对IDEA插件的一些总结(会持续更新)
  • IDEA 插件开发 发送弹框提示信息

    千次阅读 热门讨论 2020-08-18 15:37:54
    文章目录IDEA 插件开发 发送弹框提示信息 IDEA 插件开发 发送弹框提示信息 package com.wretchant.fredis.util; import com.intellij.notification.NotificationDisplayType; import ...
  • IDEA里面,依次选择打开File→Settings→Plugins,在Plugins里面可以搜索需要的插件,然后安装(安装完插件,一定要重启Idea,不然插件不生效) 1. Alibaba Java Coding Guidelines 【阿里巴巴代码规范检查...
  • file——setting——plugin——marketplace——输入Translation——点击install——安装完成点击apply应用—ok确认——重启idea才能生效 Translation 使用 选中单词或者段落ctrl+shift+y翻译,ctrl+shift+s切换...
  • IDEA插件安装后默认存放的位置

    千次阅读 2021-12-16 15:05:25
    由于一些文件夹是隐藏的(比如AppData),所以在文件管理器中先勾选可查看隐藏的项目再开始搜索 老版本: ...C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2020.3\plugins ...
  • Idea插件推荐

    千次阅读 2019-10-28 15:15:14
    给大家推荐几款常用的Idea插件,如果有自己常用的不妨一起留言分享一下 Free MyBatis plugin 正常我们可以使用ctrl来进行方法的跟踪,使用mybatis时写的mapper没法跳转到对应的xml,这个插件帮助我们可以快速跟踪...
  • idea插件:逆向工程插件--easy code

    千次阅读 2022-03-12 13:38:55
    ssm逆向工程插件-easy codeeasy code...easy code是基于idea插件,他可以根据你的需求,对应你所选择的数据库,直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。 安装 安装的步
  • 文章目录IDEA 插件开发 一个只有一个输入框的弹出框 IDEA 插件开发 一个只有一个输入框的弹出框 package com.wretchant.fredis.gui.dialog; import com.intellij.openapi.ui.DialogWrapper; import ...
  • 装上这几款IDEA插件,专业程度提升妥妥的

    万次阅读 多人点赞 2022-01-21 00:17:35
    点击上方 Java学习之道,选择 设为星标每天18:30点,干货准时奉上!Part1前言作为一个开发者,每天都要code大量的代码,提升日常工作效率是所有程序员一直追求的,在众多的IDEA...
  • IDEA 插件开发,显示气泡

    千次阅读 2020-08-18 15:36:39
    文章目录IDEA 插件开发,显示气泡 IDEA 插件开发,显示气泡 package com.wretchant.fredis.util; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Editor; ...
  • 十款好用的idea插件

    千次阅读 2020-05-16 08:08:39
    十款好用的idea插件 这一期内容搞 Gif 动态图花了很久,很多 Gif 图片上传到微信还提示过大,所以很多地方重新又录制了一遍 Gif 图。 概览: IDE Features Trainer—IDEA 交互式教程 RestfulToolkit—RESTful 服务...
  • idea 安装插件教程 在线安装和本地安装
  • 推荐几款常用的IDEA插件

    千次阅读 2022-02-09 17:05:28
    2022,新的一年,祝各位小伙伴开工大吉,年终奖拿到手软...作为搬砖工,阿里以Java栈为主,平常使用最多的搬砖工具还是IDEA(虽然VS Code确实很“轻”)。而如何更高效的搬砖,自然离不开code review效率的提升,这里就

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,458
精华内容 52,983
关键字:

idea插件