目标需求
公司有每月平均下班时间的不成文规定,为了避免到不到时间就下班,需要一个工具统计下班时间;开发中命名类名、业务名、字段名、看开源代码需要用到翻译工具,现有的工具不是实时翻译;json字符串格式工具、url编解码工具、时间戳转换工具对于日常维护有着重要的作用。
工具引用
由于日常开发使用java用的是idea,idea可以很便捷的装插件增加功能。所以开始进入idea插件开发之坑。
idea插件开发
- idea有社区版和专业版两种,社区版github上有源码,对于插件开发比较方便。建议用社区版开发。
- 这里记录一下基本插件的创建。
idea插件环境配置
- 新建项目,SDK选择idea的安装包路径,jdk选择1.7或1.8
- plugin.xml里面可以定义你的插件的id、名字、版本、作者、联系方式、描述、更改记录
描述和更改记录需要至少40个字节。
新建一个Action(new ->Plugin DevKin->Action)
- shirt+F10 运行 成功实现
基本插件的配置环境和运行知道后开始开发需求。
统计下班时间
这里借鉴了这篇博文https://blog.csdn.net/hjgzj/article/details/88105789稍微改了源码,并集成在插件中。
- 将下班打卡功能和展示集成在action中,并修改swing界面默认隐藏,点积关闭默认关闭界面。
实时翻译
这里借鉴了这篇博文https://blog.csdn.net/qq_16445551/article/details/78054404
原作者只是实现了英文转中文的实时,我这里稍微修改了加了中文转英文的实时功能。考虑中英文混合的,用的还是英文的实时接口。
这里实时翻译用到了插件中的ApplicationComponent
<application-components>
<component>
<implementation-class>listener.DictionaryComponent</implementation-class>
</component>
</application-components>
具体实现可以在后面的源码中看
json字符串格式工具、url编解码工具、时间戳转换工具
这些工具是日常维护系统,查问题时用到的。
这里将这些工具放到了idea的右侧工具栏,用到了插件的GUI Form(New -> Swing UI Design -> GUI Form )
每个formate添加一个listener
给action按钮更换图标
插件里的两个action定义到了toolsBar上,可以在设置中更换icon
更换前后的对比
源码
https://download.csdn.net/download/qq_41042003/11536594
后期会更新到github上