# studyplugin **Repository Path**: jyq_18792721831/studyplugin ## Basic Information - **Project Name**: studyplugin - **Description**: studyplugin - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2021-12-19 - **Last Updated**: 2024-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # studyplugin 学习idea插件开发 ## [idea插件开发入门](https://jiayq.blog.csdn.net/article/details/122023848) idea插件开发的helloword,开发一个插件,需要哪些步骤。
idea中右下角通知的实现。 ## [idea插件开发--配置](https://jiayq.blog.csdn.net/article/details/122073258) idea中插件的配置,如何持久化保存。
如何在idea的setting中增加自己的插件的配置界面。
增加的插件配置的获取与使用。 ## [idea插件开发--服务-翻译插件](https://jiayq.blog.csdn.net/article/details/122292086) idea中插件服务的定义,获取和使用。
如何在idea插件中请求网络资源。
如何将第三方依赖加入到idea插件项目中。
如何让插件操作编辑窗口的内容。
控制插件功能是否可用。 ## [idea插件开发--组件--编程久坐提醒](https://jiayq.blog.csdn.net/article/details/122420624) 通过这个插件,首先是了解了idea插件的组件,包括组件的定义,使用以及idea自己对组件的演变。 接着了解了组件的替代者,有监听器,有工具类等,idea提供了多种方式实现原本组件的功能。 同时也是进一步体会到了技术的发展对开发工具的影响,比如随着微服务的兴起,项目内模块的数量迅速增加,此前提供的模块级别的组件,此时就不太适合了,那么idea就抛弃了组件这种功能,转为其他方式实现。 然后是了解了idea中的消息系统,以及idea是如何实现的消息系统,idea中各个控件如何相互配合,多个线程之间的状态如何进行数据的传递,以及Idea对消息系统中发布订阅模型的客户化修改。 当然,还有最重要的监听器,可以说,监听器可以关注订阅idea中任何状态,事件和操作,都允许插件开发者对这些信息做自己关注的处理。 除此之外,对jdk中提供的计时器有了一定的了解,计时器的使用,原理和计算方式。 接着是如何使用swing中的进度条的控件,包括进度条的创建,使用和更新,以及进度条值得监控。 swing对计时器的适配,使得使用计时器更新进度条更加简便。 在后则是idea中提供的对话框的封装,以及如何使用重写机制,来修改父类中对话框的绘制,以及如何创建对话框,展示对话框和关闭对话框。 在对话框中了解到了swing中对于多个线程对相同数据的竞争是如何解决的,以及EDT线程是什么,如何避免EDT线程检测,如何正确的在EDT线程之外操作swing的界面。 其实时间的存储中,开发的时候也遇到了一定的困难,比如时间和时间戳的相互转化,时区的获取。 也逐渐让我明白了,打印日志是多么的重要,特别是这种多线程的开发的时候,不打印日志,即使有断点调试,梳理多个线程之间的互相调用,也是比较难的。好的日志可以让问题一目了然。