Kotlin
文章平均质量分 94
Kotlin 相关博客
庄周de蝴蝶
鱼鱼要加油(。>∀<。)
展开
-
IntelliJ IDE 插件开发 | (十一)解析 Mybatis 的控制台 SQL 日志
在前面的十个章节中主要介绍了关于插件开发的基础知识,从本节开始则会通过一个一个实战的 demo 样例来展示这些内容的综合运用,同时会偶尔夹杂一些进阶的理论内容。本文则是开发一个解析控制台中 MyBatis 的 SQL 日志,通过点击图标即可实现获取到完整 SQL 日志并复制到粘贴板中,效果如下图所示,另外本文所涉及到的完整代码也已上传到GitHub。/*** 用于判断鼠标是否在渲染的图标上停留*/// 处理 SQL 日志和参数信息并将拼接结果保存到粘贴板中value", it)原创 2024-06-29 14:17:49 · 1119 阅读 · 4 评论 -
IntelliJ IDE 插件开发 | (十)主题插件开发入门
在前面的章节中,我们介绍的都是功能性插件的开发内容,本文则会介绍一下主题类插件的开发方式。不过本文也只是带大家入个门,目前插件市场存在很多开源的主题插件,还是建议大家在开发不同类型的插件前,参考相应的源码进行学习和个人定制,另外本文所涉及到的完整代码也已上传到GitHub。在开发主题前,我们可以先自定义命名一些颜色,只需要在文件里配置在colors},"ui": {想要修改某个元素的颜色,只需要在 ui 属性中配置相应的键值即可。如上所示,demoColor。原创 2024-06-22 11:50:44 · 794 阅读 · 0 评论 -
IntelliJ IDE 插件开发 | (九)实现 Unicode 字符折叠预览
在上一篇文章中我们介绍了如何实现 i18n 的方式,其中提到官方建议我们在编写语言文件时将 ASCII 码范围外的字符都使用 Unicode 编码进行表示,这样就导致我们无法直观地看到原始文本,因此本文就来介绍如何实现对 Unicode 字符折叠预览的功能,最终实现效果如下,另外本文所涉及到的完整代码也已上传到GitHub。本文介绍了如何通过 IntelliJ 提供的接口来实现对 Unicode 字符折叠预览的功能,整体实现方式也比较简单,下一篇文章将会介绍如何开发主题。原创 2024-04-13 21:13:40 · 669 阅读 · 0 评论 -
IntelliJ IDE 插件开发 | (八)国际化配置
尽管大多数情况下我们开发的插件可能都是自己或者团队内部使用,但是如果想要将开发的插件发布到 Jetbrains 的插件市场,吸引更多的用户使用和支持,那么 i18n 就必不可少了。而 IntelliJ 也给我提供了内部支持,只需要简单几行代码即可实现 i18n,下面开始分步骤进行讲解,另外本文涉及到的完整代码也已上传到GitHub。在上篇文章的结尾说到这篇文章会介绍 PSI 的进阶内容,不过考虑到使用场景较少,所以这篇文章先介绍了关于 i18n 的相关内容,PSI 的进阶内容则留到后续篇章中再进行介绍。原创 2024-04-08 12:46:27 · 1435 阅读 · 0 评论 -
IntelliJ IDE 插件开发 | (七)PSI 入门及实战(实现 MyBatis 插件的跳转功能)
所谓 PSI(Program Structure Interface),直译过来是程序结构接口,其实就是 IntelliJ 平台给我们提供用来解析代码文件,简化对各类编程语言(Java、Kotlin、XML)操作的接口。大部分针对编程语言或者框架的便利插件其实就与此相关,本文则会先介绍关于 PSI 的一些基础知识,然后再以一些 Mybatis 插件提供的 Java 方法 和 Mapper XML 文件互相跳转的例子来说明 PSI 的实际应用,最终实现效果如下图,本文涉及的到的完整代码文件也已上传到。原创 2024-03-24 18:59:12 · 2676 阅读 · 5 评论 -
IntelliJ IDE 插件开发 | (六)内部模式的使用
前几篇文章主要介绍了 IntelliJ IDE 插件开发的基础知识和实战内容,作为后续内容的过渡,本文会讲解前几篇文章中提到过的内部模式的使用。内部模式通过菜单形式提供了一系列实用工具,能够帮助初学 IntelliJ IDE 插件的同学极大提升开发效率,由于内部模式提供的工具过多,本文则会挑选几个比较实用的工具进行介绍。本文主要讲解了内部模式中几个比较实用的工具,希望能给大家提供一些帮助,如果你发现了一些插件开发中的小技巧,也欢迎一起交流讨论~~~原创 2024-02-05 16:15:08 · 1793 阅读 · 0 评论 -
IntelliJ IDE 插件开发 | (五)VFS 与编辑器
在前几篇文章中主要介绍了关于 IntelliJ IDE 插件开发的基础知识,这部分内容对开发一些小功能的插件的开发已经足够。不过,如果想要开发一些与具体编程语言相关的、提升开发效率的插件(例如MybatisX),那么前几篇的内容就不足以支撑了。而从本篇开始,则会介绍实现相关功能所需要的知识: VFS、编辑器、PSI、自定义语言等,最后再以两三个插件的实战开发(例如老生常谈的代码生成)进行结尾,本文涉及到的完整代码已上传到GitHub。原创 2024-01-24 15:12:58 · 1919 阅读 · 7 评论 -
IntelliJ IDE 插件开发 | (四)来查收你的 IDEA 使用报告吧
在上篇文章的结尾提到本文将参考 VS Code 中 TimerMaster 插件的实现效果来实现一个在 IDEA 中统计编码情况的插件,TimerMaster 的效果如下:本文最终实现的插件效果如下(增加了 CV 操作和代码提交的统计😎):由于本文涉及到大部分知识都是在前几篇文章中介绍过的,因此本文只对关键功能点和实现方式进行介绍,一些基础知识和配置就不再讲解,该插件的完整代码已上传到GitHub。原创 2023-12-28 13:51:19 · 1665 阅读 · 0 评论 -
IntelliJ IDE 插件开发 | (三)消息通知与事件监听
在前两篇文章中讲解了关于插件开发的基础知识,本文将介绍关于消息通知和事件监听方面的内容,关于 IntelliJ IDE 插件开发的基本内容也就到此为止,在下一篇文章中将开发一个简单的插件对这部分内容做一个总结,后续再介绍关于虚拟文件和PSI相关的知识,最后以一个代码生成插件作为结尾。话不多说,下面就开始本文的主题,同时本文涉及到的的完整代码已上传到Github。在 IntelliJ 平台中的事件可以看作是发布订阅的模式,我们需要先定义一个主题,然后发布者发布相应的事件,订阅者实现对应的监听器事件即可。原创 2023-12-19 08:17:09 · 5502 阅读 · 2 评论 -
IntelliJ IDE 插件开发 | (二)UI 界面与数据持久化
在上一篇文章中介绍了在IDEA下开发、运行和安装插件的基本步骤,因此创建项目等基础步骤不再赘述,本文则开始介绍如何进行 UI 界面的开发以及相关数据的持久化存储,本文涉及到的的完整代码已上传到Github。本文讲解了关于 UI 界面开发和数据持久化相关的内容,如果有错误或不足之处,欢迎一起交流讨论。原创 2023-12-06 19:18:05 · 3172 阅读 · 19 评论 -
IntelliJ IDE 插件开发 | (一)快速入门
IntelliJ IDEA 作为 Java 开发的首选 IDE,其强大、方便之处不必多说。不过,由于个人或者团队的个性化需求,我们或多或少会想对其功能进行拓展,这时就需要开发插件(在 IntelliJ 平台下的所有 IDE 均可运行)才能满足。原创 2023-11-16 16:50:08 · 3031 阅读 · 0 评论