作者 | 袁华健

ide开发软件 java ider开发_xml

handsome code, handsome coder.

前言

程序员最讨厌的就是做重复性工作,如果在日常工作中发现一些重复性的工作,我们可以通过一些市面上的插件去简化我们的工作。但是当市面上的插件无法满足我们的需求的时候,我们其实可以自己去尝试写一个插件解决自身和他人的困难。当别人夸你写的插件牛逼,心里岂不是美滋滋。

1、下载 IntelliJ IDEA

大多数的插件其实都是一个道理,依靠平台提供的 sdk 去做定制化的开发,如  chrome 插件。IntelliJ IDEA 的插件也是同理,我们也是依赖 IntelliJ 提供的 sdk 去进行一个插件的开发。首先我们需要的是下载 IntelliJ IDEA,下载安装就不多赘述,大家都会。下载地址:https://www.jetbrains.com/idea/

2、新建 project

点击 File -> Project -> 选择 gradle -> 勾选上 Java 和 IntelliJ Platform Plugin 选项。

ide开发软件 java ider开发_ide开发软件 java_02

点击 next 后,填写GroupoIdArtifactIdVersion

ide开发软件 java ider开发_xml_03

点击 next 后设置 gradle 工程的构建,建议直接默认配置。

ide开发软件 java ider开发_ide开发软件 java_04

点击 next,填写好名称后,点击 finish 后等待完成项目的初始化工作。

ide开发软件 java ider开发_ide开发软件 java_05

初始化后的目录其实也很简单,src 目录为插件源代码目录,plugin.xml记录了插件的一些配置以及 Action的注册。

ide开发软件 java ider开发_ide_06

3、认识 Plugin.xml

看一下 IDEA 默认生成的plugin.xml

介绍 plugin.xml 几个主要构成的元素

<id> 这个id是在jetbrains插件库中定位到你插件的唯一id

<name> 插件的名称

<description> 插件的功能描述

<change-notes> 插件的版本变更记录

<idea-version> 插件最低可兼容的idea版本号

<extensions> 扩展点集合,子元素 <extension> 用于扩展其他插件功能或者idea平台的功能

<actions> 自定义动作的集合,子元素 <action> 用户定义一个动作

4、认识 action

在 idea 中每个功能都叫 action,一个菜单栏里组合了多个 action。我们如果想自定义实现一个功能,那么就需要实现 intellij IDEA 提供的派生类 AnAction 。当用户在点击一个 action 时,会回调 AnAction 的actionPerformed方法,所以我们需要在 actionPerformed方法中实现自己的逻辑。

Ok,那我想在 Help菜单栏中增加一个功能 show Hello World , 点击后弹框,并展示 say hello world ~ 该怎么做呢?

首先我们在src下创建自己的包 com.mars.plugin ,然后就是去创建我们的 action,利用 IDEA 提供的创建方式可以快速的创建一个 action。

点击 new -> plugin devkit -> action

ide开发软件 java ider开发_ide开发软件 java_07

填写好 action 的一些基本设置后点击 ok,idea 就自动把 HelloAction 给实现,并注册到 plugin.xml 文件中。

ide开发软件 java ider开发_ide_08

ide开发软件 java ider开发_ide_09

然后我们的 action 就算是初始化完了,但是什么也没做,我们给他添加上展示系统弹框的功能。

代码写完了,当然是要运行一下看看效果。

部署

运行 点击 Grade -> Tasks -> intellij -> runIde

ide开发软件 java ider开发_ide开发软件 java_10

这时候 idea 会打开一个全新的项目选择界面,可以选择新建项目,也可以选择导入项目,我们选择导入一个项目。

ide开发软件 java ider开发_初始化_11

导入项目后,我们点击 help 菜单栏,就可以发现我们定义的 show hello world 就在第一位。

ide开发软件 java ider开发_xml_12

点击后,弹出系统弹框,说了句“say hello world~”

ide开发软件 java ider开发_初始化_13

运行就结束了,那我如何去打包一个插件安装到别的项目上或者给别人用呢?

打包

打包其实也很简单,Gradle -> Tasks -> intellij -> buildPlugin 点击执行

ide开发软件 java ider开发_初始化_14

等待一会后,会在本地的 build -> distributions 目录下找到生成的 zip 文件

ide开发软件 java ider开发_ide_15

这个文件就是可以进行安装的版本。

发布

我们当然希望自己写的插件可以上架市场被所有人使用,所以我们进行第一次上传,登录到https://plugins.jetbrains.com/ ,注册账户后点击 Upload plugin

ide开发软件 java ider开发_xml_16

然后上传我们上面生成的 zip 文件,并填写一些信息、比如开源证书和插件分类,然后点击 upload 就等待审核通过吧。

ide开发软件 java ider开发_ide开发软件 java_17

结束语

这篇文章介绍了如何创建一个插件的工程,如果实现插件功能,如何运行打包发布。但是我们想要实现自己的插件,还得需要了解 Intellij IDEA 提供的 sdk 的用法。下一篇会继续介绍 Action、Editor 和 PSI。

全文完