8個(gè)提升工作效率的Eclipse使用技巧
這次我們?cè)賮斫榻B一些我之前使用Eclipse工作中常會(huì)用到的幾個(gè)習(xí)慣。
1.占位
上學(xué)的時(shí)候肯定都遇到過占坐的情況,在哪放個(gè)東西,代表占了坐位了。據(jù)說有人直接放個(gè)磚頭,:)。
在寫代碼的時(shí)候,有時(shí)候可能會(huì)先寫一部分,更詳細(xì)的實(shí)現(xiàn)或者設(shè)計(jì)等其他部分寫完了后面再考慮??捎袝r(shí)候容易遺漏,尤其項(xiàng)目緊急的時(shí)候,完了了功能就提測了,詳細(xì)實(shí)現(xiàn)的事就落下了。
在Eclipse里有一個(gè)內(nèi)置功能,可以很方便埋個(gè)標(biāo)識(shí),方便后面查看有哪些待補(bǔ)充的東西。在代碼里直接以 //FIXME 或者 //TODO 的形式占坐,埋個(gè)坑。
這些埋下的坑,隨時(shí)可以在Tasks視圖里查看
如果Eclipse里默認(rèn)沒看到這個(gè)的,可以在Windows菜單的show view里找Tasks打開即可。
2. 多種斷點(diǎn)
做為一款常用的IDE,Eclipse在Debug的時(shí)候?qū)τ跅l件斷點(diǎn)自然也是支持的。
除了普通的條件斷點(diǎn)外,還支持一種叫Hit count的斷點(diǎn),即在斷點(diǎn)被「擊中」幾次時(shí)斷下來。
此外,IDE里一般對(duì)于異常的斷點(diǎn)也可以按照異常類型直接添加,比如下圖是對(duì)于所有的空指針異常添加斷點(diǎn)
3.多線程調(diào)試
在多線程調(diào)試時(shí),多個(gè)線程間的切換在Eclipse里不需要像IntelliJ IDEA一樣通過下拉切換,可以直接在線程窗口中選擇對(duì)應(yīng)的線程即可。
除了切換線程外,Eclipse里的線程還能直接看出誰拿了咱的鎖?看下面這個(gè)圖,帶有鑰匙標(biāo)識(shí)的線程持有鎖,后面是鎖的名稱。在當(dāng)前掛有鎖的線程釋放鎖之后,處于stepping狀態(tài)的線程會(huì)直接獲取鎖開始執(zhí)行。
4.后退到哪一步
在IDEA里是直接刪除線程上的Frame,在Eclipse里意義類似,執(zhí)行不同。在Eclipse里是在要回退到的Frame上右擊,選擇Drop to Frame。
5.文件比對(duì)
要比較兩個(gè)文件的區(qū)別,在IDE里就可以直接比對(duì),不需要到IDE外使用其他比對(duì)工具。
選中兩個(gè)要比對(duì)的文件,右擊Compare With -》 Each Other即可。
6.運(yùn)行時(shí)配置
一些應(yīng)用需要特別配置一些JVM的參數(shù),以及傳入一些應(yīng)用需要的參數(shù),以供main的args數(shù)組接收,可以在右擊待運(yùn)行的項(xiàng)目的Class,然后Run as
然后在彈出的框中選擇argument,上方是程序參數(shù),下方是JVM參數(shù)。這些后面的Server配置時(shí)也會(huì)看到。
7. Web項(xiàng)目Server配置
對(duì)于Web項(xiàng)目,為了在IDE里調(diào)試,都需要配置一個(gè)運(yùn)行的Server。以Tomcat為例,Run on Server時(shí)還是獨(dú)立添加的Server,都包含在這里,類似一個(gè)Project,對(duì)應(yīng)的Tomcat里server.xml就是實(shí)際運(yùn)行時(shí)的配置信息,所以修改端口可以直接在這兒里進(jìn)行。
如果在運(yùn)行時(shí)遇到如下異常,明顯是端口占用的問題。
此時(shí),可以按照前面所說,直接修改server.xml,另一種方式:
在Server標(biāo)簽下,雙擊該Server,此時(shí)會(huì)打開一個(gè)對(duì)應(yīng)Server的配置頁面:
配置頁面中修改端口如下圖:
所以一般修改后仍提示端口占用的,不是進(jìn)程仍然在跑,就可能是端口沒有全都修改。
對(duì)于一些項(xiàng)目比較大,啟動(dòng)時(shí)間較長時(shí),可能會(huì)遇到超時(shí)問題。注意在此修改即可。
這里提最主要一點(diǎn),可以用于后面問題排查之類的
在配置頁面的左上方,包含一個(gè)General Information,這里可以看到運(yùn)行時(shí)的一些配置
這里Open launch configuration,
通過VM arguments,可以了解當(dāng)前Tomcat對(duì)應(yīng)的運(yùn)行信息catalina.base的具體位置。
PS: catalina.base是啥,很早之前一篇文章里說過,本地只安裝一個(gè)Tomcat,卻可以按照多個(gè)不同的配置信息運(yùn)行多實(shí)例。參考這篇:你一定不知道IDE里的Tomcat是怎么工作的!
打開catalina.base對(duì)應(yīng)的目錄,這里wtpwebapps才是真實(shí)的應(yīng)用部署目錄,而不是默認(rèn)被使用的webapps,需要注意一下。
8.加大Console輸出
有時(shí)候應(yīng)用的輸出信息比較多,這時(shí)候Console的輸出中只能看到后面的部分了,前面已經(jīng)被刷掉了。通過配置Console的屬性,可以加大輸出空間,看到更多的信息。
在Console的空白位置右擊,選擇彈出的Prefeerences,然后在打開的配置中設(shè)置buffer size 即可。
你有什么使用技巧,歡迎留言補(bǔ)充。
前幾天,公眾號(hào)「碼農(nóng)翻身」的劉欣大哥轉(zhuǎn)載了一篇文章,來了不少新的朋友。在此感謝劉哥,也歡迎各位。
Tomcat那些事兒除了寫一些Tomcat的源碼分析,實(shí)現(xiàn)原理之外,也寫一些工作經(jīng)驗(yàn)和感悟等。我一直認(rèn)為「獨(dú)學(xué)而無友,必孤陋寡聞」。希望能在這里和所有朋友交流。
【本文為51CTO專欄作者“侯樹成”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過作者微信公眾號(hào)『Tomcat那些事兒』獲取授權(quán)】