阿里梅导读:本文从IDEA插件的基本概念入手,通过一个简单的开发实例介绍了IDEA插件的开发过程,并总结了八点实践经验。关于IDEA插件开发的更详细介绍,请参考官方说明或者去官方论坛讨论。
文末优势:轻量级应用服务器折扣,新用户专属。
IDEA作为我们不可或缺的IDE,以其智能的代码提示、多样的框架支持和简单的开发界面,被业界公认为最好的Java开发工具之一。衡量一个IDE是否强大最简单的方法就是检查其插件生态环境的发展。各种插件不仅丰富了IDE本身的功能,还大大提高了开发人员的工作效率。
概念性介绍
插件类型
IDEA插件根据功能分为以下四种类型:
自定义语言支持,如Go语言插件。这个插件包括文件类型识别、格式化、语言保留字支持、编译、运行以及其他语言开发所必需的功能。它是一个相对重量级的插件。
开发框架支持,比如Spring框架插件。这个插件包括框架专用代码识别、框架功能支持等。不同的开发框架有不同的开发数量和难度。
工具集成,比如我们公司内容的云雀,就是这种插件,也是最常用的插件,后续的开发实例也属于这种类型。这种插件通常包括附加功能、与功能相关的UI以及对外部资源的访问。
UI附件主要限于UI修改。
开发目录结构
成分
配置文件是IDE的插件自我介绍,在IDEA中是META-INF/plugin.xml。详细配置信息请参考官方文件。
类加载器,每个插件对应一个类加载器,相互隔离。
组件,插件中可以有三个级别的组件:Applciation、Project和Module,需要在plugin.xml文件中进行配置,实现不同的接口。
扩展和扩展点,用于扩展IDEA本身的功能或其他组件的扩展点,比如在自定义JavaDoc中添加一个Tag。扩展点由插件提供给其他插件。
在配置文件中配置并由菜单项触发的操作。
图标,插件使用的图标。
服务,用于在后端运行的一些服务实现。
依赖、其他插件以及插件可能依赖的三方包。
二.开发过程简述
这个部分通过一个简单的插件开发示例来说明。
1创建项目
创建IDEA插件项目有两种方式,一种是IntelliJ Platform Plugin,另一种是Gradle下的IntelliJ Platform Plugin。建议使用第二种方法。Gradle是添加第三方依赖库的便捷方式,也是官方推荐的方法。
选择创建方法后,根据需要填写信息以完成创建。
2.设置创建条目
由于实例插件是工具集成类型的插件,我们需要在IDEA的UI中添加插件条目。在这一部分中,在配置文件plugin.xml中添加以下内容:
我们可以发现入口是一个动作。需要声明操作的位置和处理类别。上面声明的用户界面效果:
3写处理逻辑
向配置文件中指定的操作处理类添加处理逻辑。具体逻辑是根据实际需要。
三.使用总结
1个弹出对话框
使用:
Messages.showErrorDialog,“弹出文本内容”);
2提示信息
使用新的通知)。通知;
3.扩展点的使用
在配置文件中,添加扩展点配置,其他扩展点类型:
自定义JavaDoc的扩展效果:
4定制直播模板
liveTemplate扩展点的相关实现在plugin.xml中配置:
在DefaultLiveTemplatesProvider接口的实现类的getDefaultLiveTemplateFiles方法中,注册LiveTemplate定义文件:
上下文的名称在TemplateContextType类的子类的构造函数中定义,上下文可以使用的位置在isInContext方法中定义。例如:
编写LiveTemplate定义的xml文件,例如:
在5插件中调用Dubbo
在Gradle的构建文件build.gradle的依赖项中添加以下配置:
在接口调用中编码以下内容:
6发布插件的指定IDEA存储库
在build.gradle文件中进行以下配置
在gradle中执行publishPlugin任务。
7发布到指定的IDEA插件失败
当我们在开发完成后通过publishPlugin任务发布时,可能会出现以下错误消息:
相关代码:
8如何将本地jar包引入插件
在build.gradle的依赖项中添加以下内容:
然后,将本地jar包放在指定的目录中。
轻量级应用服务器
新用户专属
阿里巴巴云开发者成长计划面向各年龄段开发者,依托免费资源、免费体验、免费学习、免费实践四大场景,全面帮助开发者轻松掌握云技能。新用户享受轻量级应用服务器、内置WordPress等八大主流环境、5M峰值带宽、40GBSSD云盘、1000G流量包,轻松满足学习和应用搭建场景!