Eclipse就是一頭野獸。它也是一套設(shè)備,神秘但更具威力。有些人稱它為一個持續(xù)變形機。另一些人則稱它是一個變異體。不錯,它很龐大,需要花費多年才能掌握。而在你好不容易掌握之后,你的老板出現(xiàn)了然后告訴你: 現(xiàn)在我們要用NetBeans了。
開玩笑了。沒有人會去用NetBeans,除了Adam Bien。好了,下面讓我們看看5個非常有用的、被隱藏了的Eclipse特性。
1: 我最愛的特性:收藏夾
每個人都會使用到一些靜態(tài)方法類庫。從Java 5之后,我們可以靜態(tài)進入它們,所以我們不再需要像下面這樣寫代碼
但是,誰又會愿意在每一個類中去把所有那些方法都手動的進行靜態(tài)進入呢? 沒有人。因為你可以在選項中定義你的收藏類型和收藏成員:
Preferences > Favorites
然后,你只需要敲入開頭的字母并使用自動補全功能:
自動補全
自動補全功能也可以進行必要的靜態(tài)引入。比方說在使用DSL的諸多功能時,這就非常有用。很明顯,你需要謹(jǐn)慎決斷,哪些是你真正最常用到的類庫,以及哪些是這些類庫中你最常用到的類。如果你是jOOQ blog(或是其聯(lián)盟的一員)的用戶,我可以給你一個提示。即永遠把org.jooq.impl.DSL納入收藏。
2: 令人驚嘆的塊選擇模式
我最近在該博文中記錄過這一點。該功能真是棒極了,文章中多次提及它的優(yōu)點。

代碼塊選擇
注意高亮顯示的按鈕,從昨天數(shù)第6個。這就是令人驚嘆的“塊選擇模式” (Windows中的快捷鍵是Alt-Shift-A,或者使用Ctrl+3然后敲入選擇塊)。 它能讓你在開闊的范圍內(nèi)在選定行的相同位置上進行錄入。當(dāng)你不得不編輯大量幾乎相同的行時,這非常有用。
3: EGit工作臺視圖
顯然,并非所有的EGit用戶知道的這一視圖。事實上,我認(rèn)為,這就是為什么我不使用shell命令的最重要的原因。看看這個完美的東西(beauty美人):
工作臺視圖
好吧,不是一個真正的美人。這讓我想起了這本 Eric Burke的漫畫節(jié)選。但我們仿佛在虛空轉(zhuǎn)換之地(transmogrifier land),這個工作臺視圖充滿變化,一旦你從一個repository同步它的源,這個視圖將等待變更被added / committed / pushed。我現(xiàn)在可以在每行的基礎(chǔ)上決定,將哪個變化添加到索引中(注意,我沒有添加主要方法)。這導(dǎo)致有staged(添加)的unstaged(未添加)的變更。在EGit中,我現(xiàn)在可以在一次操作中直接提交,提交+推送,修改+提交,修改+提交+推送。也可以嘗試在命令行這樣做。
現(xiàn)在這次提交后,我又能在一個單獨的提交中stage/add主要方法。 我猜,在背后,這可能是通過運用存儲或某種其他的本地緩存來實現(xiàn)的。 我不在乎怎樣 , 這是漂亮的 !
4:類型過濾器
對的,這是因為Eclipse的盒外自動補全毫無價值。是的,事實就是這樣的。沒有人會真正在API內(nèi)部去調(diào)用callhashCode(), wait()或者notifyAll()。并且,事實上,現(xiàn)在幾乎沒有人愿意對一個鎖對象去調(diào)用wait()或者notify(),除非他們在寫JDK的并發(fā)庫。但是慶幸的是,有人為我們免費實現(xiàn)了, 他們應(yīng)該是使用VI,emacs或者一個16進制編輯器,因此他們不用考慮對象方法。
于是,為什么我的自動補全彈出框是一些沒有意義的內(nèi)容?好吧,讓我們創(chuàng)建一個類先。。。
選項真心多啊?是不是?
哇哦。我本以為我只有一個方法?我不考慮equals(),盡管我實際上很少輸入equals(),我可以正確輸出它。以此,我準(zhǔn)備把它從那一堆中挪走:
Preferences > Type filters
此外,感謝Eclipse對at的提及。我希望存在一個選項從JDK,從我們的集合內(nèi)存中完全移除awt。但是,至少,因為添加了awt到類型選擇器里,這讓你免去了選擇是該導(dǎo)入java.util.List(99.9%) 還是java.awt.List(8.3%)。舍入誤差的發(fā)生決定于你之前不小心錯誤選擇集合的次數(shù),有時,你會懷疑為什么不能直接分配一個數(shù)組集合。在此感謝awt。此外,你必須關(guān)注你多變的WIN8是如何在截屏的時候改變窗口的顏色的。好了,現(xiàn)在下一步是什么呢?總之先回到Eclipse,讓我們在此試下自動補全。。。
5: 格式化標(biāo)簽
在花了這么多時間選擇代碼塊,謹(jǐn)慎的格式化SQL語句——往往是不會操作的人或者不沒按照樣式說明操作的,再或使用自動格式化的時候把之前美觀的那些全部代碼都格式化到一行了。而且還持續(xù)不到很久。使用簡單易拼的格式化標(biāo)簽來“保護”代碼:
首選在> 格式化選項 > 打開/關(guān)閉標(biāo)簽
由于在這過程中可能會多次輸入標(biāo)簽,記得使用些簡明的東西“保護”下自己精心寫出來的那些SQL語句:
這樣(代碼,SQL語句)就被保護起來了
除非是不熟悉操作的人忘記或者沒按照樣式說明操作而沒有保存格式化設(shè)置,或者還有一類是拿Netbeans玩一下而沒真正使用的的情況,否則是不會再有人能接觸到那些代碼了。
同樣,這些標(biāo)簽也適合很難格式化的DSLs。
另外還有一些快捷鍵供大家參考:
alt+/ 提示
ctrl+/ 注釋
ctrl+d 刪除行
alt+up|down 上、下移動
ctrl+alt+down 復(fù)制當(dāng)前行
shift+alt+s,r|v getter、setter或者重寫方法
ctrl+. 跳動需要處理的代碼處,如果跳到錯誤代碼處,警告代碼處
ctrl+1 給出操作提示,如:寫serializeId,異常捕獲等
ctrl+m 當(dāng)前窗體最大化,最小化
ctrl+t 給出函數(shù)實現(xiàn)類,如:接口彈出實現(xiàn)方法,方法彈出繼承重寫方法
ctrl+shift+f 格式化