騷操作 !IDEA 防止寫代碼沉迷插件 !
閱讀本文大概需要 3.5 分鐘。

前言
安裝使用教程
安裝
在 IDEA 中直接搜索安裝 StopCoding 插件(官方已經(jīng)審核通過)

本地安裝:

使用
Step1. 然后在菜單欄中 tools->StopCoding

Step2. 設(shè)置適合你的參數(shù)然后保存。

Step3. 然后快樂的 Coding 吧,再不用擔(dān)心自己會沉迷了。工作時間結(jié)束,她會彈出下框進(jìn)行提醒,當(dāng)然,這個框是關(guān)不掉的.只有你休息了足夠的時間它才會自動關(guān)閉.

開發(fā)教程
技術(shù)范圍
插件工程的基本結(jié)構(gòu) Swing 主要負(fù)責(zé)兩個對話框的交互 Timer 作為最基本的定時器選擇
插件工程結(jié)構(gòu)

plugin.xml
data
SettingData?:配置信息對應(yīng) modelDataCenter?:作為運(yùn)行時的數(shù)據(jù)中心,都是些靜態(tài)的全局變量service
TimerService?:這個定時計(jì)算的核心代碼task
RestTask?:休息時的定時任務(wù)WorkTask?:工作時的定時任務(wù)ui
SettingDialog?:設(shè)置信息的對話框TipsDialog?: 休息時提醒的對話框StopCodingSettingAction?:啟動入口的 action
Swing
創(chuàng)建對話框
Step1

Step2

Step3

注:這里并沒有詳細(xì)的展開 Swing 的講解,因?yàn)榻缑娴倪@個東西,需要大家多去自己實(shí)踐。這里就不做手冊式的贅述了。
添加事件
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按鈕綁定點(diǎn)擊事件的監(jiān)聽器
????????buttonCancel.addActionListener(new?ActionListener()?{
????????????public?void?actionPerformed(ActionEvent?e)?{
????????????????onCancel();
????????????}
????????});//這是給取消按鈕綁定點(diǎn)擊事件的監(jiān)聽器
????//其他代碼
????}
step1

step2

Timer 定時器
構(gòu)造方法

成員防范

主要是 schedule 去添加一個定時任務(wù),和使用 cancel 去取消任務(wù)停止定時器。
最后
源碼地址:https://github.com/jogeen/StopCoding
推薦閱讀:
完全整理 | 365篇高質(zhì)技術(shù)文章目錄整理
專注服務(wù)器后臺技術(shù)棧知識總結(jié)分享
歡迎關(guān)注交流共同進(jìn)步
