Idea插件StopCoding的安装使用教程

 更新时间:2023年08月09日 14:33:19   作者:迈克尔嘿嘿  
这篇文章主要介绍了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,配置信息对应modelDataCenter,作为运行时的数据中心,都是些静态的全局变量

  • 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java项目中获取路径的绝对路径问题和相对路径问题

    Java项目中获取路径的绝对路径问题和相对路径问题

    这篇文章主要介绍了如何Java项目中获取文件地址,在 Java 项目中我们经常会读取配置文件,但是文件的路径在获取时我们是怎么得到的?下面我们就一起进入文章学习该内容吧,需要的朋友可以参考下
    2022-02-02
  • Java+Mysql学生管理系统源码

    Java+Mysql学生管理系统源码

    这篇文章主要为大家详细介绍了Java+Mysql学生管理系统源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Java实现把文件压缩成zip文件的示例代码

    Java实现把文件压缩成zip文件的示例代码

    这篇文章主要为大家介绍了如何通过Java语言实现将文件压缩成zip文件,本文中示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • mybatis实现批量插入并返回主键(xml和注解两种方法)

    mybatis实现批量插入并返回主键(xml和注解两种方法)

    这篇文章主要介绍了mybatis实现批量插入并返回主键(xml和注解两种方法),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 详解Java关于时间格式化的方法

    详解Java关于时间格式化的方法

    这篇文章主要介绍了详解Java关于时间格式化的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 使用Spring动态修改bean属性的key

    使用Spring动态修改bean属性的key

    这篇文章主要介绍了使用Spring动态修改bean属性的key方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot打成war包在tomcat或wildfly下运行的方法

    SpringBoot打成war包在tomcat或wildfly下运行的方法

    这篇文章主要介绍了SpringBoot打成war包在tomcat或wildfly下运行的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 基于UncategorizedSQLException异常处理方案

    基于UncategorizedSQLException异常处理方案

    这篇文章主要介绍了基于UncategorizedSQLException异常处理方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java异常处理之java.lang.ClassCastException问题

    Java异常处理之java.lang.ClassCastException问题

    这篇文章主要介绍了Java异常处理之java.lang.ClassCastException问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java for-each循环使用难题2例(高级使用方法)

    Java for-each循环使用难题2例(高级使用方法)

    从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array。For each循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListIterator时无需调用while循环中的hasNext()方法就能遍历collection
    2014-04-04

最新评论