骚操做 !IDEA 防止写代码沉迷插件 !

2021年11月23日 阅读数:4
这篇文章主要向大家介绍骚操做 !IDEA 防止写代码沉迷插件 !,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程

 


骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_02

图片

前言

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

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

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

安装使用教程

安装

  1. 在 IDEA 中直接搜索安装 StopCoding 插件(官方已经审核经过)程序员

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_032. 内网开发的小伙伴 能够下载以后进行本地安装 下载地址github

  • 本地安装:编程

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_04imgapi

使用

  • Step1. 而后在菜单栏中 tools->StopCodingide

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_05img布局

  • Step2. 设置适合你的参数而后保存。大数据

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_06 图片
  • Step3. 而后快乐的 Coding 吧,再不用担忧本身会沉迷了。工做时间结束,她会弹出下框进行提醒,固然,这个框是关不掉的.只有你休息了足够的时间它才会自动关闭.

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_07 图片

开发教程

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

技术范围

  • 插件工程的基本结构

  • Swing 主要负责两个对话框的交互

  • Timer 做为最基本的定时器选择

插件工程结构

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_08 图片
  • plugin.xml

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

  • data

  •  
    • SettingData :配置信息对应 model

    • DataCenter :做为运行时的数据中心,都是些静态的全局变量

  • service

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

  • task

  •  
    • RestTask :休息时的定时任务

    • WorkTask :工做时的定时任务

  • ui

  •  
    • SettingDialog :设置信息的对话框

    • TipsDialog : 休息时提醒的对话框

  • StopCodingSettingAction :启动入口的 action

Swing

其实在 IDEA 中开发 Swing 项目的界面很是简单。由于 IDEA 提供了一系列可视化的操做,以及控件布局的拖拽。接下来就简单的介绍一下对话框的建立过程和添加事件。

建立对话框

  • Step1

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_09 图片
  • Step2

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_10 图片
  • Step3

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_11 图片
  • 注:这里并无详细的展开 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

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA_12 图片
  • step2

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_13 图片

Timer 定时器

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

  • 构造方法

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_14img

  • 成员防范

骚操做 !IDEA 防止写代码沉迷插件 !_IDEA教程_15img

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

最后

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

源码地址:https://github.com/jogeen/StopCoding

推荐阅读:

网易大数据用户画像实践

小米用户画像实战,48页PPT下载

美团 GIT Commit Log规范

关于年薪百万,聊聊年薪380万的研发人是什么样子的

全国排名前十技术大牛,被裁只要十分钟