写个IDEA插件
引子
最近空闲时间在研究IDEA插件,想写个小插件。主要是因为各种中间件服务的启动关闭,切窗口,找命令,复制粘贴,苦秦久矣...虽然结合homebrew和omz之后,有了效率上的提升,但是,懒到极致应该 ALL IN ONE,于是我就想着写个自用小插件。
插件简介
打开项目
打开插件窗口,展示该命名空间下的命令列表。该插件属于应用级别,与项目无关。也就是说记录的命令在所有项目中通用。
支持添加分类
设置默认后,进入项目将默认加载该分类下的命令列表
命令管理
命令列表的CRUD肯定要有的
动态参数
通过简单的插值,提供参数动态修改
终端打开
点击运行按钮后,命令自动粘贴到终端窗口(有动态参数则填写参数后自动粘贴到终端)
存在问题
1. 还在研究插件的性能优化问题,目前已经将表格和相关的组件容器单例化,但可能是因为表格使用到了较多的动态渲染和事件监听,比如操作栏使用了renderer渲染编辑和非编辑状态等,性能上不尽人意,考虑使用静态表格,对于数据编辑的交互通过dialog实现。目前还在研究如何观测插件性能并进行优化。
2. 由于后台调起终端,终端打开存在滞后,即使手动打开终端也需要加载并进入当前项目目录。所以在终端未达到完全可用状态时,命令的粘贴会存在问题,还在研究官网的文档...(吐槽IDEA SDK,无demo,链接到处跳转...)
后续想法
想法是之后新增tab页,做一个共享版cheatsheet小抄,通过github进行贡献和fork。cheatsheet的语法和展现,考虑使用markdown,或者实现一个自定义的支持语法高亮的格式。
目前插件感觉还不是最小可用单元,就不发插件包了。优化完成会直接传到插件市场。