Idea插件StopCoding的安裝使用教程
前言
當(dāng)初年少懵懂,那年夏天填志愿選專(zhuān)業(yè),父母聽(tīng)其他長(zhǎng)輩說(shuō)選擇計(jì)算機(jī)專(zhuān)業(yè)好。從那以后,我的身上就有了計(jì)院深深的烙印。從寢室到機(jī)房,從機(jī)房到圖書(shū)館,C、C++、Java、只要是想寫(xiě)點(diǎn)自己感興趣的東西,一坐就是幾個(gè)小時(shí),但那時(shí)年輕,起身,收拾,一路小跑會(huì)女神,輕輕松松?,F(xiàn)在工作了,毫無(wú)意外的做著開(kāi)發(fā)的工作,長(zhǎng)時(shí)間久坐。寫(xiě)代碼一忙起來(lái)就忘了起來(lái)活動(dòng)一下,也不怎么喝水。經(jīng)常等到忙完了就感覺(jué)腰和腿不舒服。直到今年的體檢報(bào)告一下來(lái),才幡然醒悟:沒(méi)有一個(gè)好身體,就不能好好打工,讓老板過(guò)上他自己想要的生活了.
試過(guò)用手機(jī)提醒自己,但是沒(méi)用。小米手環(huán)的久坐提醒功能也開(kāi)著,有時(shí)候?qū)懘a正入神的,時(shí)間到了也就點(diǎn)一下就關(guān)了,還是沒(méi)什么作用。所以我想究竟是我太賴(lài)了,還是用Idea寫(xiě)代碼太入神,總之不可能是改需求有意思。所以元旦節(jié)打算為自己開(kāi)發(fā)一款小小的Idea插件,我叫她【StopCoding】。她應(yīng)該可以設(shè)置每隔多少分鐘,就彈出一個(gè)提醒對(duì)話框,一旦對(duì)話框彈出來(lái),idea的代碼編輯框就自動(dòng)失去了焦點(diǎn),什么都不能操作,到這還不算完,關(guān)鍵是這個(gè)對(duì)話框得關(guān)不了,并且還顯示著休息倒計(jì)時(shí),還有即使我修改了系統(tǒng)時(shí)間,這個(gè)倒計(jì)時(shí)也依然有效,除非我打開(kāi)任務(wù)管理器,關(guān)閉Idea的進(jìn)程,然后再重新啟動(dòng)Idea。但是想一下想,idea都都關(guān)了,還是休息一下吧。
下面就介紹一下她簡(jiǎn)單的使用教程和開(kāi)發(fā)教程
安裝使用教程
安裝
在idea中直接搜索安裝StopCoding插件(官方已經(jīng)審核通過(guò))
2. 內(nèi)網(wǎng)開(kāi)發(fā)的小伙伴 可以下載之后進(jìn)行本地安裝 下載地址
本地安裝:
使用 Step1. 然后在菜單欄中tools->StopCoding
Step2. 設(shè)置適合你的參數(shù)然后保存。
Step3. 然后快樂(lè)的Coding吧,再不用擔(dān)心自己會(huì)忘我了。工作時(shí)間結(jié)束,她會(huì)彈出下框進(jìn)行提醒,當(dāng)然,這個(gè)框是關(guān)不掉的.只有你休息了足夠的時(shí)間它才會(huì)自動(dòng)關(guān)閉.
開(kāi)發(fā)教程
這個(gè)插件非常的簡(jiǎn)約,界面操作也很簡(jiǎn)單。所使用的技術(shù)基本上都是java的基礎(chǔ)編程知識(shí)。所以小伙伴感興趣的話,一起看看吧。
技術(shù)范圍
- 插件工程的基本結(jié)構(gòu)
- Swing 主要負(fù)責(zé)兩個(gè)對(duì)話框的交互
- Timer 作為最基本的定時(shí)器選擇
插件工程結(jié)構(gòu)
- plugin.xml
這是插件工程的核心配置文件,里面每一項(xiàng)的解釋?zhuān)梢詤⒖嫉谝黄慕榻B核心配置文件說(shuō)明。
- data包
SettingData,配置信息對(duì)應(yīng)modelDataCenter,作為運(yùn)行時(shí)的數(shù)據(jù)中心,都是些靜態(tài)的全局變量
- service
TimerService 這個(gè)定時(shí)計(jì)算的核心代碼
- task
RestTask 休息時(shí)的定時(shí)任務(wù)WorkTask 工作時(shí)的定時(shí)任務(wù)
- ui
SettingDialog 設(shè)置信息的對(duì)話框TipsDialog 休息時(shí)提醒的對(duì)話框StopCodingSettingAction 啟動(dòng)入口的action
- Swing
其實(shí)在idea中開(kāi)發(fā)Swing項(xiàng)目的界面非常簡(jiǎn)單。因?yàn)閕dea提供了一系列可視化的操作,以及控件布局的拖拽。接下來(lái)就簡(jiǎn)單的介紹一下對(duì)話框的創(chuàng)建過(guò)程和添加事件。
創(chuàng)建對(duì)話框
Step1
Step2
Step3
注:這里并沒(méi)有詳細(xì)的展開(kāi)Swing的講解,因?yàn)榻缑娴倪@個(gè)東西,需要大家多去自己實(shí)踐。這里就不做手冊(cè)式的贅述了。 添加事件
其實(shí),剛才創(chuàng)建的這個(gè)對(duì)話框里的兩個(gè)按鈕都是默認(rèn)已經(jīng)創(chuàng)建好了點(diǎn)擊事件的。
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)聽(tīng)器 buttonCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onCancel(); } });//這是給取消按鈕綁定點(diǎn)擊事件的監(jiān)聽(tīng)器 //其他代碼 }
當(dāng)然我們也可以其它任何控件去創(chuàng)建不同的事件監(jiān)聽(tīng)器。這里可以通過(guò)界面操作創(chuàng)建很多種監(jiān)聽(tīng)器,只要你需要,就可以使用。
step1
step2
Timer定時(shí)器
在這個(gè)插件里面,需要用到定時(shí)的功能,同時(shí)去計(jì)算公國(guó)和休息的時(shí)間。所以使用JDK自帶的Timer,非常的方便。下面我Timer的常用的api放在這里,就清楚它的使用了。
構(gòu)造方法
成員防范
主要是schedule去添加一個(gè)定時(shí)任務(wù),和使用cancel去取消任務(wù)停止定時(shí)器。 最后
相信有了這些基本介紹,感謝興趣的小伙伴想去看看源碼和嘗試自己寫(xiě)一個(gè)小插件就沒(méi)什么大問(wèn)題了。不說(shuō)了,我得休息了。希望這個(gè)插件能幫到作為程序員得你,和這篇文章對(duì)你有一點(diǎn)點(diǎn)啟發(fā)。當(dāng)然麻煩小伙伴點(diǎn)個(gè)贊,鼓勵(lì)一下打工人。
到此這篇關(guān)于Idea插件StopCoding的安裝使用教程的文章就介紹到這了,更多相關(guān)Idea插件StopCoding內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 強(qiáng)烈推薦IDEA提高開(kāi)發(fā)效率的必備插件
- 一文秒懂idea的git插件跟翻譯插件
- IDEA配置leetcode插件的步驟
- IDEA插件開(kāi)發(fā)注冊(cè)菜單之向主菜單注冊(cè)菜單項(xiàng)目
- 值得推薦的Idea十幾大優(yōu)秀插件(小結(jié))
- 推薦史上最全的IDEA好用插件
- IDEA 插件 mapper和xml互相跳轉(zhuǎn)操作
- IDEA插件之快速刪除Java代碼中的注釋
- 配置tjxCold(idea效率插件)的模版教程詳解
- IDEA多線程文件下載插件開(kāi)發(fā)的步驟詳解
- IntelliJ IDEA 好用插件之a(chǎn)nalyze inspect code詳解
- 初步編寫(xiě)IDEA\AndroidStudio翻譯插件的方法
- idea插件開(kāi)發(fā)之彈出框的示例代碼
- 你要知道IDEA的這些必備插件
相關(guān)文章
Java項(xiàng)目中獲取路徑的絕對(duì)路徑問(wèn)題和相對(duì)路徑問(wèn)題
這篇文章主要介紹了如何Java項(xiàng)目中獲取文件地址,在 Java 項(xiàng)目中我們經(jīng)常會(huì)讀取配置文件,但是文件的路徑在獲取時(shí)我們是怎么得到的?下面我們就一起進(jìn)入文章學(xué)習(xí)該內(nèi)容吧,需要的朋友可以參考下2022-02-02Java實(shí)現(xiàn)把文件壓縮成zip文件的示例代碼
這篇文章主要為大家介紹了如何通過(guò)Java語(yǔ)言實(shí)現(xiàn)將文件壓縮成zip文件,本文中示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02mybatis實(shí)現(xiàn)批量插入并返回主鍵(xml和注解兩種方法)
這篇文章主要介紹了mybatis實(shí)現(xiàn)批量插入并返回主鍵(xml和注解兩種方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12使用Spring動(dòng)態(tài)修改bean屬性的key
這篇文章主要介紹了使用Spring動(dòng)態(tài)修改bean屬性的key方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05SpringBoot打成war包在tomcat或wildfly下運(yùn)行的方法
這篇文章主要介紹了SpringBoot打成war包在tomcat或wildfly下運(yùn)行的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11基于UncategorizedSQLException異常處理方案
這篇文章主要介紹了基于UncategorizedSQLException異常處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Java異常處理之java.lang.ClassCastException問(wèn)題
這篇文章主要介紹了Java異常處理之java.lang.ClassCastException問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Java for-each循環(huán)使用難題2例(高級(jí)使用方法)
從Java5起,在Java中有了for-each循環(huán),可以用來(lái)循環(huán)遍歷collection和array。For each循環(huán)允許你在無(wú)需保持傳統(tǒng)for循環(huán)中的索引,或在使用iterator /ListIterator時(shí)無(wú)需調(diào)用while循環(huán)中的hasNext()方法就能遍歷collection2014-04-04