开发Intellij Idea插件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发Intellij Idea插件相关的知识,希望对你有一定的参考价值。

参考技术A

在过去几年中,JetBrains的IntelliJ很快成为Java开发人员的顶级IDE。使IntelliJ对Java开发人员如此有吸引力的一个特性是使用插件扩展和创建新功能的能力。在本教程中,我们将介绍如何编写IntelliJ插件来演示扩展IDE的几种方法。

Intellij插件按照功能可分四类:

使用 Plugin DevKit( https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/using_dev_kit.html )来创建工程,DevKit提供了自定义SDK类型和一组用于在IDE中构建插件的操作

在Intellij的菜单栏,选择 File | New | Project, New Project 框里选择 IntelliJ PLatform Plugin

在project SDK选项框选择合适的Intellij SDK,然后下一步,填上project name,完成,就创建好一个Intellij plugin 工程了。

创建自定义Action

创建自定义的action,需要继承抽象类AnAction,并且需要重写方法 AnAction.update() 和 AnAction.actionPerformed() :

actionPerformed()方法

在该方法中,我们通过getSelectedCode()方法拿到用户选择的文本,通过刚发getLanguageTag()获取当前文本语言,比如java,js,go等。然后通过getURL()方法组装url,最后通过BrowserUtil.browse(url) 打开浏览器,并访问给的url。在我们demo里面,我们将用选择的文本在baidu里面进行搜索。

获取Editor中选择的文本

你需要使用SelectionModel对象获取选择的文本

获取当前文件的语言

从event中通过CommonDataKeys.PSI_FILE key获取到PsiFile对象,然后再从PsiFile中获取到Language。

有两种方式可以注册我们自定义的事件:1. plugin.xml中配置,2.代码中注册

在plugin.xml文件中注册事件:

在Idea中运行或者debug插件是非常简单的一件事

配置

运行

结果

以上是关于开发Intellij Idea插件的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA优秀插件(编程通用)

干货|IntelliJ IDEA插件开发

Java开发必装的IntelliJ IDEA插件

IntelliJ IDEA实用插件推荐,提高开发效率

Java 开发必装的 IntelliJ IDEA 插件

IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件