IntelliJ IDEA插件开发系列教程之开发思路

简介: Smart Input Source插件推荐给大家使用,它可以实现根据输入处上下文自动切换到对应的输入法,将开发者从杂乱繁琐的输入法切换中解救出来。具体效果请查看《IDEA插件——自动切换输入法》,欢迎到插件市场下载安装。IntelliJ IDEA插件开发系列教程综述IntelliJ IDEA插件开发系列教程之开发思路前言自己探索IDEA插件开发之路并不好走,国内这方面资料较少且不成体系,IDEA

Smart Input Source插件推荐给大家使用,它可以实现根据输入处上下文自动切换到对应的输入法,将开发者从杂乱繁琐的输入法切换中解救出来。

前言

自己探索IDEA插件开发之路并不好走,国内这方面资料较少且不成体系,IDEA虽然有官方的开发教程,但是英文版不太好理解而且讲得太浅,以至于会遇到很多无法解决的问题。因此,作者写了这篇系列教程,为了让中文开发者快速入门。授人予鱼不如授人予渔,作者觉得自我解决问题的思路比教程更重要,所以开篇首先给大家总结作者在开发过程的思路。

官方文档

IntelliJ Platform Plugin SDK是插件开发的官方文档,这里对IntelliJ IDE做了简单而全面的介绍,我们需要尽量去通读这篇文档,我觉得它最重要的作用是告诉我这个概念用英文怎么描述,这个对后续遇到问题时查找解决方案非常重要。所以当我们不知道该怎么描述我们遇到的问题的时候,首先来这里找下有没有对应的介绍。

开源插件

IntelliJ IDEA插件很多都是开源的,我们可以学习里面的代码,看是否能解决我们的问题。如果能找到一款实现功能很相近的开源插件,那将事半功倍。

IntelliJ插件市场是一个非常好寻找开源插件的地方,在这里可以根据关键字寻找你想要的插件,然后进入插件详情页面,找到Source Code,如下所示,有时作者可能没有设置Source Code,也许你可以去作者的Github找到远吗。

另外一个寻找开源插件的好地方就是Github,输入IDEA+关键字可以找到很多开源插件。

IDEA源码

IntelliJ IDEA是一个开源项目,在Github可以找到源代码intellij-community,另外我们也可以在插件项目中查看到源代码,那样会更方便。IDEA里面的很多官方功能其实也是插件的形式提供的,所以我们可以参考他们的实现来完成我们的想法。其中最关键的还是需要知道IDEA里面的概念如何用英文描述,只有知道某个功能的英文描述我们才能找到相应的类,才能知道他们是怎么实现的。所以,如果安装了中文汉化包的话赶紧把它卸载吧。

举个我自己的实际例子,我想知道键盘事件怎么监听,我知道IDEA有个功能点击shift两次便能查找类或方法,通过IDEA使用界面我了解到这个功能叫SearchEverywhere,于是我在项目工程里面用SearchEverywhere功能搜索关键字SearchEverywhere,于是找到了最相近的实现类com.intellij.ide.actions.SearchEverywhereAction,通过阅读源代码找到了点击两次shift与SearchEverywhere功能的联系,如下图中所示,它是通过ModifierKeyDoubleClickHandler类注册了点击两次shift后激活SearchEverywhere功能。

继续深入到ModifierKeyDoubleClickHandler里面,我找到了怎么监听键盘事件的代码如下所示,通过IdeEventQueue.EventDispatcher应该可以监听到IDEA里面所有事件,通过event instanceof KeyEvent判断是否为键盘事件,点击左上角插头形状图标,发现这个类还需要在plugin.xml里面进行注册,如下所示。

通过研究ModifierKeyDoubleClickHandler代码,我还明白了一个概念叫ModifierKey(修饰键),mac系统的修饰键有command、option、control、shift,这些按键跟普通按键可以组成快捷键。

Google

别问为什么不用百度,特别是IDEA插件开发相关文档中为资料更是少之又少。在Google提问的关键还是在于怎么描述你的问题,只有用准确的英文描述才能让你快速找到想要的答案,所以如果不知道怎么描述你的问题,可以先阅读官方文档。

相关文章
|
8天前
|
IDE Linux 开发工具
IntelliJ IDEA最新版安装下载教程及安装教程(附安装包)
本文介绍IDEA的下载与安装教程,包含获取下载地址、安装步骤及激活方法。需注意安装路径为英文目录,运行激活脚本时需管理员权限。按指引操作即可完成激活并使用。
302 0
|
5月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 VScode 和 IDEA 中怎么用?手把手教程来了
沉默王二分享了通义灵码的使用教程,这款插件集成了DeepSeek-R1和Qwen等模型,支持Java、Python、Go等多种编程语言,适用于IDEA、VSCode等开发环境。它不仅能提供智能问答、代码补全和Bug修复功能,还能通过“AI程序员”实现多文件代码修改。体验流畅,算力充足,无需担心限流问题。文章详细介绍了安装步骤及各项功能的实际操作,展示了其在提升开发效率方面的强大实力。目前,通义灵码正持续优化,未来将带来更多惊喜。
760 1
|
3月前
|
JSON Java 数据库连接
IDEA的插件大总汇 (让你的工作效率大大提高!)
我是小假 期待与你的下一次相遇 ~
641 5
|
4月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
321 27
|
6月前
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
555 78
|
6月前
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
1093 13
|
7月前
|
人工智能 自然语言处理 Java
IDEA中使用DeepSeek满血版的手把手教程来了!
本文主要介绍阿里云推出的AI编码助手——通义灵码在代码编写、智能问答、bug修复等方面的功能。
IDEA中使用DeepSeek满血版的手把手教程来了!
|
7月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
131 3
|
7月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
|
7月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了
DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了