Idea防沉迷插件StopCoding的安装使用教程

前言

当初年少懵懂,那年夏天填志愿选专业,父母听其他长辈说选择计算机专业好。从那以后,我的身上就有了计院深深的烙印。从寝室到机房,从机房到图书馆,C、C++、Java、只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松。现在工作了,毫无意外的做着开发的工作,长时间久坐。写代码一忙起来就忘了起来活动一下,也不怎么喝水。经常等到忙完了就感觉腰和腿不舒服。直到今年的体检报告一下来,才幡然醒悟:没有一个好身体,就不能好好打工,让老板过上他自己想要的生活了.

试过用手机提醒自己,但是没用。小米手环的久坐提醒功能也开着,有时候写代码正入神的,时间到了也就点一下就关了,还是没什么作用。所以我想究竟是我太赖了,还是用Idea写代码容易沉迷,总之不可能是改需求有意思。所以元旦节打算为自己开发一款小小的Idea防沉迷插件,我叫她【StopCoding】。她应该可以设置每隔多少分钟,就弹出一个提醒对话框,一旦对话框弹出来,idea的代码编辑框就自动失去了焦点,什么都不能操作,到这还不算完,关键是这个对话框得关不了,并且还显示着休息倒计时,还有即使我修改了系统时间,这个倒计时也依然有效,除非我打开任务管理器,关闭Idea的进程,然后再重新启动Idea。但是想一下想,idea都都关了,还是休息一下吧。

下面就介绍一下她简单的使用教程和开发教程

安装使用教程

安装

在idea中直接搜索安装StopCoding插件(官方已经审核通过)

2. 内网开发的小伙伴 可以下载之后进行本地安装 下载地址

本地安装:

使用 Step1. 然后在菜单栏中tools->StopCoding

Step2. 设置适合你的参数然后保存。

Step3. 然后快乐的Coding吧,再不用担心自己会沉迷了。工作时间结束,她会弹出下框进行提醒,当然,这个框是关不掉的.只有你休息了足够的时间它才会自动关闭.

开发教程

这个插件非常的简约,界面操作也很简单。所使用的技术基本上都是java的基础编程知识。所以小伙伴感兴趣的话,一起看看吧。

技术范围

  • 插件工程的基本结构
  • Swing 主要负责两个对话框的交互
  • Timer 作为最基本的定时器选择

插件工程结构

  • plugin.xml

这是插件工程的核心配置文件,里面每一项的解释,可以参考第一篇的介绍核心配置文件说明。

  • data包

SettingData,配置信息对应model
DataCenter,作为运行时的数据中心,都是些静态的全局变量

  • service

TimerService 这个定时计算的核心代码

  • task

RestTask 休息时的定时任务
WorkTask 工作时的定时任务

  • ui

SettingDialog 设置信息的对话框
TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action

  • Swing

其实在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

Timer定时器

在这个插件里面,需要用到定时的功能,同时去计算公国和休息的时间。所以使用JDK自带的Timer,非常的方便。下面我Timer的常用的api放在这里,就清楚它的使用了。

构造方法

成员防范

主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。 最后

相信有了这些基本介绍,感谢兴趣的小伙伴想去看看源码和尝试自己写一个小插件就没什么大问题了。不说了,我得休息了。希望这个插件能帮到作为程序员得你,和这篇文章对你有一点点启发。当然麻烦小伙伴点个赞,鼓励一下打工人。

源码地址

到此这篇关于Idea防沉迷插件StopCoding的安装使用教程的文章就介绍到这了,更多相关Idea防沉迷插件StopCoding内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA社区版创建spring boot项目的安装插件的图文教程

    由于最近idea的官方查的有点严,pojie的企业版idea总失效,现在给大家说一下社区版idea创建spring项目的一个方法!!! 在项目实战中了解到的IDEA创建springboot项目,我找了下我的IDEA没有spring Initializr,网上的说法我试过搜不到spring boot插件,经过一番折腾发现社区版的不是springboot插件,而是spring Assistant插件,在settings中plugins中搜索 如果有就勾选,没有选择安装即可(会提示重启工具) 然后ne

  • 2020史上最全IDEA插件总结(推荐收藏)

    IDEA 插件安装 步骤 IDEA里面,选择打开 File --> Settings --> Plugins 在Plugins里面, 可以搜索需要的插件 (下面的标题),然后安装 如下图: AceJump 全栈必备,作为一个全能的程序员 ,用鼠标,太伤自尊了,他就可以帮到你 AceJump其实是一款能够代替鼠标的软件,只要安装了这款插件,可以在代码中跳转到任意位置.按快捷键进入 AceJump 模式后(默认是 Ctrl+J),再按任一个字符,插件就会在屏幕中这个字符的所有出现位置都打上标签,你

  • IntelliJ IDEA 15款超级牛逼插件推荐(自用,超级牛逼)

    满满的都是干货  所有插件都是在 ctrl+alt+s   里的plugins 里进行搜索安装 1.CodeGlance 代码迷你缩放图插件 2. Codota 代码提示工具,扫描你的代码后,根据你的敲击完美提示 Codota基于数百万个开源Java程序和您的上下文来完成代码行,从而帮助您以更少的错误更快地进行编码. 安装: 3.Material Theme UI 那就顺便推荐一下这个吧,超多的主题插件,各种颜色,各种模式,感兴趣的可以试一下,图我就不截了 4.Alibaba Java Codi

  • 如何使用idea里面自带的翻译插件

    打开idea 点击左上角file 点击Settings 然后在弹出页面里点击Plugins 在右边的搜索框中搜索Translation 然后找到图中我标中的那个插件 点击Installed下载安装 然后根据提示重启idea就好啦 下面我们来试试效果 在控制台中选择报错信息 然后点击右键我们可以看到刚刚下载的插件 然后点击,等他加载好,我们就能看到中文翻译啦 到此这篇关于idea里面自带的翻译插件的文章就介绍到这了,更多相关idea翻译插件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以

  • IDEA2020 Plugins不能用的解决办法及Plugins 搜索不了插件的问题

    PS:下面看下Intellij IDEA 2020.1 的Plugins 搜索不了插件,连接超时的问题 今天一不小心点了升级到2020.1,发现Plugins连不上了,下面是修复方案: 上面步骤如果都不行,还是想装,那也可以从IDEA官网下载离线插件并安装http://plugins.jetbrains.com/ 总结 到此这篇关于IDEA2020 Plugins不能用的解决办法的文章就介绍到这了,更多相关IDEA2020 Plugins不能用内容请搜索我们以前的文章或继续浏览下面的相关文章希望

  • Idea防沉迷插件StopCoding的安装使用教程

    前言 当初年少懵懂,那年夏天填志愿选专业,父母听其他长辈说选择计算机专业好.从那以后,我的身上就有了计院深深的烙印.从寝室到机房,从机房到图书馆,C.C++.Java.只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松.现在工作了,毫无意外的做着开发的工作,长时间久坐.写代码一忙起来就忘了起来活动一下,也不怎么喝水.经常等到忙完了就感觉腰和腿不舒服.直到今年的体检报告一下来,才幡然醒悟:没有一个好身体,就不能好好打工,让老板过上他自己想要的生活了.

  • Node.js插件安装图文教程

    Node.js简介 Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好. Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式

  • vsCode安装使用教程和插件安装方法

    vsCode安装使用教程vsCode是什么vsCode安装vsCode汉化vsCode常用命令说明vsCode左边图标说明vsCode基本使用前端常用插件在vosCode中显示html界面 vsCode是什么 Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化.软

  • 如何在IDEA上安装scala插件并创建工程(图文教程)

      大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新.但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.csdn.net/   关于scala的安装并配置环境变量的问题,小伙伴们感兴趣

  • intellij idea中安装、配置mybatis插件Free Mybatis plugin的教程详解

    场景: 使用intellij idea开发,持久层dao使用了mybatis,经常需要编辑mybatis的××Mapper.java和××Mapper.xml,因为是接口里一个方法对应xml里的一个SQL的id,当需要找找个方法时候得拷贝找个方法名,然后在对应文件中ctrl+f全文查找,相当麻烦.本篇讲述的使用mybatis的插件后将极大的提高效率.效果如图: 即从××Mapper.java接口和××Mapper.xml中能由箭头直接点进去查看相对应的方法及SQL. 步骤: 1.ctrl+alt

  • IDEA actiBPM插件安装图文教程

    在idea插件里搜索没有找到对应的插件 在官网下载了插件jar包 选择安装本地插件文件选择jar包 下载网址: https://plugins.jetbrains.com/plugin/7429-actibpm/versions 安装本地jar包插件 选择jar包文件 重启后就可以正常使用了 到此这篇关于IDEA actiBPM插件安装图文教程的文章就介绍到这了,更多相关IDEA actiBPM插件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • Windows2003下php5.4安装配置教程(IIS)

    本文与<Windows2003下php5.4安装配置教程(Apache2.4)>(点击打开链接)为姊妹篇,只是php所用的服务器有点不同,这里一个是Apache2.4,一个是Windows2003自带的IIS服务器. 一.在Windows2003安装IIS 1.首先打开Windows2003的控制面板,查看是否有"管理工具",没有也不要紧,点击"添加或删除程序".有的话,可以直接进入第二步,IIS的配置. 2.在弹出的窗口,选择添加/删除Windows组

  • windows nfs 服务端安装配置教程

    windows7下面安装nfs客户端命令: 打开或关闭windows功能>nfs服务(勾选上)重启 hanewin(windows7下安装nfs服务)使用: 下载地址:http://www.hanewin.net/ 安装后需要生成注册码: liyuan3210/FBLZ3577F37E78FB 1.安装好后首先需要配置nfs服务端 NFS Server>Exports配置服务端目录 d:\nfsroot -name:nfsroot -umask:000 -public -mapall:0 2.

  • Yii2组件之多图上传插件FileInput的详细使用教程

    在前面给大家写个有关文件上传的文章,包括最基本的yii2文件上传.异步上传到又拍云以及百度编辑器图片上传的问题,貌似不说点多图上传的就不完美. 今天介绍一款多图上传的插件 FileInput,至于为什么选中了TA作为我们上传的插件,一来这货跟Yii2有一腿,用起来方便:二来嘛,用这个插件不仅添加的时候好操作,修改的时候也可以直接通过异步的方式将图片悄无声息的删掉:最值得一提的是,界面效果融合了bootstrap,清爽简洁美观,看起来舒服. 说重点,看具体步骤 首先还是先安装组件 复制代码 代码如

  • babel的使用及安装配置教程

    简介 babel是一个广泛使用的转码器,可以将ES6代码转化为ES5代码,从而在现有环境执行,这意味着,你可以现在就用ES6编写程序,而不用担心现有环境是否支持. 安装及配置 npm install babel-cli --save-dev 或者 cnpm install babel-cli --save-dev使用淘宝镜像安装会更快. 步骤:进入项目 ==>cnpm install babel-cli --save-dev 为什么不安装在全局 如果安装在全局,那意味着项目要运行,全局环境必须有

随机推荐