当初年少懵懂,那年夏天填志愿选专业,父母听其他长辈说选择计算机专业好。从那以后,我的身上就有了计院深深的烙印。从寝室到机房,从机房到图书馆,C、C++、Java、只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松。现在工作了,毫无意外的做着开发的工作,长时间久坐。写代码一忙起来就忘了起来活动一下,也不怎么喝水。经常等到忙完了就感觉腰和腿不舒服。直到今年的体检报告一下来,才幡然醒悟:没有一个好身体,就不能好好打工,让老板过上他自己想要的生活了.
试过用手机提醒自己,但是没用。小米手环的久坐提醒功能也开着,有时候写代码正入神的,时间到了也就点一下就关了,还是没什么作用。所以我想究竟是我太赖了,还是用Idea写代码容易沉迷,总之不可能是改需求有意思。所以元旦节打算为自己开发一款小小的Idea防沉迷插件,我叫她【StopCoding】。她应该可以设置每隔多少分钟,就弹出一个提醒对话框,一旦对话框弹出来,idea的代码编辑框就自动失去了焦点,什么都不能操作,到这还不算完,关键是这个对话框得关不了,并且还显示着休息倒计时,还有即使我修改了系统时间,这个倒计时也依然有效,除非我打开任务管理器,关闭Idea的进程,然后再重新启动Idea。但是想一下想,idea都都关了,还是休息一下吧。
下面就介绍一下她简单的使用教程和开发教程
在idea中直接搜索安装StopCoding插件(官方已经审核通过)
2. 内网开发的小伙伴 可以下载之后进行本地安装 下载地址
本地安装:
使用 Step1. 然后在菜单栏中tools->StopCoding
Step2. 设置适合你的参数然后保存。
Step3. 然后快乐的Coding吧,再不用担心自己会沉迷了。工作时间结束,她会弹出下框进行提醒,当然,这个框是关不掉的.只有你休息了足够的时间它才会自动关闭.
这个插件非常的简约,界面操作也很简单。所使用的技术基本上都是java的基础编程知识。所以小伙伴感兴趣的话,一起看看吧。
技术范围
插件工程结构
这是插件工程的核心配置文件,里面每一项的解释,可以参考第一篇的介绍核心配置文件说明。
SettingData,配置信息对应model
DataCenter,作为运行时的数据中心,都是些静态的全局变量
TimerService 这个定时计算的核心代码
RestTask 休息时的定时任务
WorkTask 工作时的定时任务
SettingDialog 设置信息的对话框
TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action
其实在idea中开发Swing项目的界面非常简单。因为idea提供了一系列可视化的操作,以及控件布局的拖拽。接下来就简单的介绍一下对话框的创建过程和添加事件。
Step1
Step2
Step3
注:这里并没有详细的展开Swing的讲解,因为界面的这个东西,需要大家多去自己实践。这里就不做手册式的赘述了。 添加事件
其实,刚才创建的这个对话框里的两个按钮都是默认已经创建好了点击事件的。
public class TestDialog extends JDialog { private JPanel contentPane; private JButton buttonOK; private JButton buttonCancel; public TestDialog() { setContentPane(contentPane); setModal(true); getRootPane().setDefaultButton(buttonOK); buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onOK(); } }); //这是给OK按钮绑定点击事件的监听器 buttonCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onCancel(); } });//这是给取消按钮绑定点击事件的监听器 //其他代码 }
当然我们也可以其它任何控件去创建不同的事件监听器。这里可以通过界面操作创建很多种监听器,只要你需要,就可以使用。
step1
step2
在这个插件里面,需要用到定时的功能,同时去计算公国和休息的时间。所以使用JDK自带的Timer,非常的方便。下面我Timer的常用的api放在这里,就清楚它的使用了。
构造方法
成员防范
主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。 最后
相信有了这些基本介绍,感谢兴趣的小伙伴想去看看源码和尝试自己写一个小插件就没什么大问题了。不说了,我得休息了。希望这个插件能帮到作为程序员得你,和这篇文章对你有一点点启发。当然麻烦小伙伴点个赞,鼓励一下打工人。
源码地址
到此这篇关于Idea防沉迷插件StopCoding的安装使用教程的文章就介绍到这了,更多相关Idea防沉迷插件StopCoding内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍Pycharm 安装 idea VIM插件的图文教程详解,包括了Pycharm 安装 idea VIM插件的图文教程详解的使用技巧和注意事项,需要的朋友参考一下 直接在线安装 1、File->Settings->Plugins->Install JetBrains Plugins 2、点击install安装ideavim 3、也许需要的切换vim模式和pychar模式 快捷键:Ctr
本文向大家介绍vsCode安装使用教程和插件安装方法,包括了vsCode安装使用教程和插件安装方法的使用技巧和注意事项,需要的朋友参考一下 vsCode是什么 Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持
本文向大家介绍Node.js插件安装图文教程,包括了Node.js插件安装图文教程的使用技巧和注意事项,需要的朋友参考一下 Node.js简介 Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境
本文向大家介绍IntelliJ IDEA插件EasyCode安装方法与使用技巧,包括了IntelliJ IDEA插件EasyCode安装方法与使用技巧的使用技巧和注意事项,需要的朋友参考一下 EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射
本文向大家介绍教你在 IntelliJ IDEA 中使用 VIM插件的详细教程,包括了教你在 IntelliJ IDEA 中使用 VIM插件的详细教程的使用技巧和注意事项,需要的朋友参考一下 IdeaVim(下载)插件可以让你在IntelliJ IDEA中键盘敲的飞起。 安装 打开IDEA的设置,在Plugins里,你可以选择在线搜索Vim安装,当然如果不行,就可以选择单独下载后安装,以下是下载安
本文向大家介绍详解PyCharm安装MicroPython插件的教程,包括了详解PyCharm安装MicroPython插件的教程的使用技巧和注意事项,需要的朋友参考一下 前言 PyCharm可以说是当今最流行的一款Python IDE了,大部分购买TPYBoard的小伙伴都会使用PyCharm编写MicroPython的程序。遗憾的是,只是把PyCharm当做了一种代码编辑器,调试依然还的需要其