前言年少懵懂的那年夏天,我填志愿选专业,爸爸妈妈听其他长辈说选计算机专业很好。从那以后,我就深深地被纪渊打上了烙印。从宿舍到机房,从机房到图书馆,C,C++,Java,只要你想写点你感兴趣的,随便坐几个小时,不过那时候你还年轻,起身,收拾干净,一路小跑去见女神。轻松。现在上班,无意中做开发工作,久坐。一忙写代码就忘了起床运动,喝水也不多。工作结束后,我经常感到腰腿不舒服。直到今年的体检报告来了,我才明白,没有好的身体,就不能努力工作,让老板过上他想要的生活。我试图用手机提醒自己,但没有用。小米手环的久坐提醒功能也开启了。有时候我在写代码的时候,点一下就关了,还是没有效果。所以我觉得我太懒了,或者用Idea写代码容易上瘾。简而言之,变化的需求不可能是有趣的。于是大年初一,打算给自己开发一个idea防沉迷小插件。我称她为[StopCoding]。她应该可以设置每隔几分钟弹出一个提醒对话框。一旦弹出对话框,idea的代码编辑框会自动失去焦点,无法进行任何操作。这还没完,关键是这个对话框关不掉,而且还显示倒计时休息,而且即使我修改了系统时间,倒计时还是有效的,除非我打开任务管理器,关闭Idea进程,然后重启Idea。不过想想,思路都打完了,歇会儿吧。下面将介绍她的简单教程和开发教程。安装和教程安装1.直接在idea中搜索安装StopCoding插件(官方认可)2.内网开发的小伙伴可以下载到本地安装https://github.com/jogeen/StopCoding/releases/tag/20210104-V1.0本地安装:使用Step1。然后在菜单栏中的tools->StopCodingStep2。设置适合您的参数并保存。第三步。那就愉快的编码吧,再也不用担心上瘾了。当工作时间结束时,她会弹出一个框来提醒你。当然,这个盒子是关不上的。只有当你休息了足够的时间,它才会自动关闭。开发教程的插件很简单,界面操作也很简单。使用的技术基本都是java的基础编程知识。那么有兴趣的小伙伴们一起来看看吧。技术范围插件项目的基本结构Swing主要负责两个对话框的交互。定时器是最基本的定时器。选择插件项目结构。plugin.xml这是插件项目的核心配置文件。每一项的解释请参考本文第一篇介绍:https://juejin.cn/post/6844904127990857742数据包SettingData,modelDataCenter对应的配置信息,作为运行时数据中心,是一些静态全局变量serviceTimerService定时计算taskRestTask休息时定时任务核心代码WorkTask工作时定时任务uiSettingDialog设置信息对话框TipsDialog休息时提醒对话框StopCodingSettingActionActionSwing启动入口其实idea中开发Swing项目的界面很简单.因为idea提供了一系列的可视化操作,以及控件布局的拖拽。下面简单介绍一下对话框的创建过程和添加事件。创建对话框Step1Step2Step3注意:这里不详细讲解Swing,因为界面这个东西需要大家自己多练习。我不会在这里重复手动样式。添加事件其实刚才创建的对话框中的两个按钮都已经默认创建了点击事件。公共类TestDialog扩展JDialog{privateJPanelcontentPane;私有JButton按钮确定;私有JButton按钮取消;publicTestDialog(){setContentPane(contentPane);{publicvoidactionPerformed(ActionEvente){onOK();}});//这是绑定点击事件到确定按钮的监听器buttonCancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){onCancel();}});//这是绑定点击的监听器eventtothecancelbutton//Othercodes}当然,我们也可以为任何其他控件创建不同的事件监听器。这里可以通过接口操作创建多种监听器,需要的时候可以使用。step1step2Timer定时器在这个插件里面,需要用到计时功能,同时计算principality和resttime。所以使用JDK自带的Timer是非常方便的。下面我把Timer常用的api放在这里,看它的用途就一目了然了。构造方法的成员防御主要是添加一个带schedule的定时任务,使用cancel取消任务,停止定时器。最后,相信有了这些基本的介绍,感谢有兴趣的朋友,想看看源码,自己动手写个小插件试试,不会有大问题的。别说了,我要休息了。希望这个插件能对身为程序员的你有所帮助,这篇文章也能给你一点启发。当然麻烦各位朋友给工人点个赞鼓励一下。
