这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽~

idea插件toolsMix(记录下班时间、实时中英文翻译、jsonView、urlEncode、urlDecode、timeFormate)源码 idea插件toolsMix (记录下班时间、实时中英文翻译、jsonView、urlEncode、urlDecode、timeFormate) 解压toolsMix.zip,toolsMix目录下的zip包为打包好的插件包,可以直接安装 立即下载

来源:juejin.cn/post/6914083794806898695

当初年少懵懂,那年夏天填志愿选专业,父母听其他长辈说选择计算机专业好。从那以后,我的身上就有了计院深深的烙印。

从寝室到机房,从机房到图书馆,C、C++、Java、只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松。

现在工作了,毫无意外的做着开发的工作,长时间久坐。写代码一忙起来就忘了起来活动一下,也不怎么喝水。经常等到忙完了就感觉腰和腿不舒服。直到今年的体检报告一下来,才幡然醒悟:没有一个好身体,就不能好好打工,让老板过上他自己想要的生活了.

试过用手机提醒自己,但是没用。

小米手环的久坐提醒功能也开着,有时候写代码正入神的,时间到了也就点一下就关了,还是没什么作用。

所以我想究竟是我太赖了,还是用Idea写代码容易沉迷,总之不可能是改需求有意思。所以元旦节打算为自己开发一款小小的Idea防沉迷插件,我叫她【StopCoding】。

她应该可以设置每隔多少分钟,就弹出一个提醒对话框,一旦对话框弹出来,idea的代码编辑框就自动失去了焦点,什么都不能操作,到这还不算完,关键是这个对话框得关不了,并且还显示着休息倒计时,还有即使我修改了系统时间,这个倒计时也依然有效,除非我打开任务管理器,关闭Idea的进程,然后再重新启动Idea。

但是想一下想,idea都都关了,还是休息一下吧。

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

# 安装使用教程

安装

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

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

https://github.com/jogeen/StopCoding/releases/tag/20210104-V1.0

  • 本地安装:


使用

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去取消任务停止定时器。


# 最后

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

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

StopCoding:Idea防沉迷插件,关爱程序员健康。设置每工作多少分钟,强制休息。Idea anti addiction plug-in, care for the health of programmers. Set the number of minutes per work and force the rest 停止编码 介绍 这是一个工作计时器,它可以设置每个工作时间提醒您休息,喝水和锻炼身体的时间。 只有这样,您才能真正健康地工作 在工具菜单栏中,打开停止编码。 设置工作时间和休息时间,然后保存。 当设定的时间到来时,会有一个弹出框提醒您休息,这样您就无法暂时操作想法。 变更日志 V1.2添加图标(感谢我的好朋友胡伟提供的图标)。 V1.1更新指南使用。 V1.0版本。 安装 直接在构思中搜索并安装stopcoding插件(官方批准) Intranet开发的小伙伴可以在本地安装后 如何使用 步骤1。 在菜单栏中,工具-> StopCoding 第2步。 设置适合您的参数并保存。 第三步然后进行快乐的编码,无需担心其上瘾。 在工作时间结束时,她将弹出下一个框提醒您。 当然,不能关闭此框。 仅当您有足够的休息时间时,它才会自动关闭。 我的其他插件 马克书 立即下载

相关推荐

Evolution of Heuristics: Towards Efficient Automatic Algorithm Design Using Large Language Model

启发式算法广泛用于处理复杂的搜索和优化问题。然而,启发式算法的手动设计通常非常耗费人力,需要丰富的工作经验和知识。本文提出了启发式算法的进化 (EoH),这是一种新颖的进化范式,它利用大型语言模型 (LLM) 和进化计算 (EC) 方法进行自动启发式设计 (AHD)。EoH 代表自然语言中的启发式概念,称为思想。然后由 LLM 将它们转换为可执行代码。进化搜索框架中思想和代码的演变使其在生成高性能启发式算法方面非常有效和高效。

weixin_43961909的博客 2165

反卷神器!idea强制休息防沉迷小插件

idea防沉迷小插件介绍

qq_59622162的博客 911

通过FlinkCDC将MySQL中变更的数据写入到kafka(DataStream方式)

文章目录前言一、CDC的种类?二、通过FlinkCDC将数据从MySQL导入到Kafka1.核心代码2.工具类3.可能会出现的错误及解决解决: 前言 CDC的Change Data Capture(变更数据捕获)的缩写 FlinkCDC的核心思想是监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 一、CDC的种类? CDC 主要分为基于查询和基于 Binlog 两种方式,简述两者的区别:

不会打球的摄影师不是好程序员 9622

IDEA插件系列(94):Pomodoro-tm插件——番茄钟计时

1.插件介绍 Pomodoro-tm插件。 番茄工作法的时间管理插件 。 如何使用它: 选择要完成的任务并启动番茄钟计时器(Ctrl+Shift+P 或 Cmd+Shift+P)。 完成任务直到计时器响起。如果在番茄钟期间分心,请重新启动计时器。 休息一下,直到计时器再次响起。 2.安装方式 第一种方式,是在IDEA上搜索插件进行安装,会适配当前IDEA的版本。 第二种安装方式是使用离线插件进行安装。 插件下载地址:https://plugins.jetbrains.com/plugi

二木成林 3306

箱式连续提升机

箱式连续提升机,是对具有高度差较大(>1500mm)的输送线之间进行连接,将箱式物资进行连续输送的提升(或下降)的输送设备,可根据输送线的具体输送要求作相应的参数设计。目前的箱式连续提升机种类比较多,常用的形式主要有Z型和C型,工作原理相同,只是入口和出口分别在两侧和同侧。

月生沧溟 1251

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1281

推荐开源项目:Idea防沉迷插件 - StopCoding

推荐开源项目:Idea防沉迷插件 - StopCoding 在编程的世界里,我们常常沉醉于一行行代码之间,忘记了时间的流转和身体的呼唤。为了解决这个问题,我们向您推荐一款贴心的小工具——StopCoding,这是一款专为IntelliJ IDEA打造的防沉迷插件,旨在帮助开发者更好地管理自己的工作与休息时间。 项目介绍 StopCoding简单而实用,它巧妙地融入您的IDE,当您设定的工作时间到达...

gitblog_00012的博客 575

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3753

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

即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!

2401_84048554的博客 932

[密码学实战]密评考试训练系统v1.0程序及密评参考题库(获取路径在文末)(二十四)

本系统将密码学理论与软件工程实践相结合,为密评备考提供了高效解决方案。随着《密码法》的深入实施,掌握密评知识将成为信息安全从业者的核心竞争力。立即开始您的密码安全专家之旅!(注:实际应用请以最新发布版本为准)

曼岛_的博客 800

RT-Thread Studio 使用笔记(七)| 配合STM32CubeMX添加裸机驱动(以ADC为例)

1. 配置STM32CubeMX 2. 复制stm32xxxx_hal_msp.c文件 将 CubeMx 生成的代码 stm32f7xx_hal_msp.c 函数复制到 RT-Thread Studio 生成的工程中,并参与工程编译: 由于我们并没有使用 CubeMx 生成的工程,所以这里需要将 stm32f7xx_hal_msp.c 文件中 #include “main.h” 替换为 #i...

Mculover666的博客(嵌入式) 9628

idea中代码自动修正 自动修正提示

一 默认是Alt + Enter 二 在file->setting->keymap中,搜索,show context Actions,可以看到,我一般习惯改成ctrl+1

u011519970的博客 8993

SAP-ABAP:SAP数据库视图(Database View)详解-创建

数据库视图是SAP中实现多表关联查询的基础工具,适合简单的跨表查询和权限控制场景。但其功能有限,对于复杂逻辑或高性能需求,建议结合CDS视图或ABAP程序开发。通过合理设计,数据库视图可显著提升开发效率和系统可维护性。它存储在数据库中,但本身不存储数据,仅通过查询动态生成结果。是一种基于物理数据库表的虚拟表,通过关联多个表(使用。

baidu_35680696的博客 1370

这款 IDEA 插件刷爆朋友圈,网友:防止沉迷“搬砖”,用起来有点酸爽~

点击上方“Java精选”,选择“设为星标”别问别人为什么,多问自己凭什么!下方有惊喜,留言必回,有问必答!每一天进步一点点,是成功的开始...前言当初年少懵懂,那年夏天填志愿选专业,父母听...

Java精选 318

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

这款IDEA插件刷爆了朋友圈,网友:一定是女朋友送的~

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

weixin_43893935的博客 453

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: JavaWeb-实现多ip、异地 同时登录踢人下线
下一篇: 大文件上传:秒传、断点续传、分片上传
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值