Eclipse 中隱藏的 5 個非常有用的功能

oschina發表於2013-11-02

  Eclipse就是一頭野獸。它也是一套裝置,神祕但更具威力。有些人稱它為一個持續變形機。另一些人則稱它是一個變異體。不錯,它很龐大,需要花費多年才能掌握。而在你好不容易掌握之後,你的老闆出現瞭然後告訴你: 現在我們要用NetBeans了。

  開玩笑了。沒有人會去用NetBeans,除了Adam Bien。好了,下面讓我們看看5個非常有用的、被隱藏了的Eclipse特性。

  1: 我最愛的特性:收藏夾

  每個人都會使用到一些靜態方法類庫。從Java 5之後,我們可以靜態進入它們,所以我們不再需要像下面這樣寫程式碼

SomeVeryImportantUtility.split(string1, string2);

  但是,誰又會願意在每一個類中去把所有那些方法都手動的進行靜態進入呢? 沒有人。因為你可以在選項中定義你的收藏型別和收藏成員:

  Preferences > Favorites

  然後,你只需要敲入開頭的字母並使用自動補全功能:

  自動補全

  自動補全功能也可以進行必要的靜態引入。比方說在使用DSL的諸多功能時,這就非常有用。很明顯,你需要謹慎決斷,哪些是你真正最常用到的類庫,以及哪些是這些類庫中你最常用到的類。如果你是jOOQ blog(或是其聯盟的一員)的使用者,我可以給你一個提示。即永遠把org.jooq.impl.DSL納入收藏。

  2: 令人驚歎的塊選擇模式

  我最近該博文中記錄過這一點。該功能真是棒極了,文章中多次提及它的優點。

  程式碼塊選擇

  注意高亮顯示的按鈕,從昨天數第6個。這就是令人驚歎的“塊選擇模式” (Windows中的快捷鍵是Alt-Shift-A,或者使用Ctrl+3然後敲入選擇塊)。 它能讓你在開闊的範圍內在選定行的相同位置上進行錄入。當你不得不編輯大量幾乎相同的行時,這非常有用。

  3:  EGit工作臺檢視

  顯然,並非所有的EGit使用者知道的這一檢視。事實上,我認為,這就是為什麼我不使用shell命令的最重要的原因。看看這個完美的東西(beauty美人):

  工作臺檢視

  好吧,不是一個真正的美人。這讓我想起了這本 Eric Burke的漫畫節選。但我們彷彿在虛空轉換之地(transmogrifier land),這個工作臺檢視充滿變化,一旦你從一個repository同步它的源,這個檢視將等待變更被added / committed / pushed。我現在可以在每行的基礎上決定,將哪個變化新增到索引中(注意,我沒有新增主要方法)。這導致有staged(新增)的unstaged(未新增)的變更。在EGit中,我現在可以在一次操作中直接提交,提交+推送,修改+提交,修改+提交+推送。也可以嘗試在命令列這樣做。

  現在這次提交後,我又能在一個單獨的提交中stage/add主要方法。 我猜,在背後,這可能是通過運用儲存或某種其他的本地快取來實現的。 我不在乎怎樣 , 這是漂亮的 !

  我大概可以用這個漂亮功能做得更多,但那將填滿一整本書(我在等待這樣的一本書,@niborst,如果你正在看這篇文章的話)

  如果你不明白上述任何Git的話題,試試這個流行的指南,或加入我…

  4:型別過濾器

  對的,這是因為Eclipse的盒外自動補全毫無價值。是的,事實就是這樣的。沒有人會真正在API內部去呼叫callhashCode(), wait()或者notifyAll()。並且,事實上,現在幾乎沒有人願意對一個鎖物件去呼叫wait()或者notify(),除非他們在寫JDK的併發庫。但是慶幸的是,有人為我們免費實現了, 他們應該是使用VI,emacs或者一個16進位制編輯器,因此他們不用考慮物件方法。

  於是,為什麼我的自動補全彈出框是一些沒有意義的內容?好吧,讓我們建立一個類先。。。

  選項真心多啊?是不是?

  哇哦。我本以為我只有一個方法?我不考慮equals(),儘管我實際上很少輸入equals(),我可以正確輸出它。以此,我準備把它從那一堆中挪走:

  Preferences > Type filters

  此外,感謝Eclipse對at的提及。我希望存在一個選項從JDK,從我們的集合記憶體中完全移除awt。但是,至少,因為新增了awt到型別選擇器裡,這讓你免去了選擇是該匯入java.util.List(99.9%) 還是java.awt.List(8.3%)。舍入誤差的發生決定於你之前不小心錯誤選擇集合的次數,有時,你會懷疑為什麼不能直接分配一個陣列集合。在此感謝awt。此外,你必須關注你多變的WIN8是如何在截圖的時候改變視窗的顏色的。好了,現在下一步是什麼呢?總之先回到Eclipse,讓我們在此試下自動補全。。。

  終於變成了只有一個了

  更好了?當然更好了!

  現在。。。

  5: 格式化標籤

  在花了這麼多時間選擇程式碼塊,謹慎的格式化SQL語句——往往是不會操作的人或者不沒按照樣式說明操作的,再或使用自動格式化的時候把之前美觀的那些全部程式碼都格式化到一行了。而且還持續不到很久。使用簡單易拼的格式化標籤來“保護”程式碼:

  首選在> 格式化選項 > 開啟/關閉標籤

  由於在這過程中可能會多次輸入標籤,記得使用些簡明的東西“保護”下自己精心寫出來的那些SQL語句:

  這樣(程式碼,SQL語句)就被保護起來了

  除非是不熟悉操作的人忘記或者沒按照樣式說明操作而沒有儲存格式化設定,或者還有一類是拿Netbeans玩一下而沒真正使用的的情況,否則是不會再有人能接觸到那些程式碼了。 

  同樣,這些標籤也適合很難格式化的DSLs

  還有更多

  Eclipes真是個瘋狂的野獸。每年都會有新特性加入到新版本中,而我們Java開發者能免費使用它們!你可以向Eclipse提供回饋。不過我想基金會(由IBM支援)應該不太依賴捐助, 所以你回饋的最好方式是提交bug報告和功能需求,這裡是連線:

  https://bugs.eclipse.org/bugs

  … 或者如果你足夠勇敢,可以註冊到CLA並開始貢獻程式碼

  對這個令人驚歎的開發工具來說,總會有提升的空間,可以為我下一篇top 5系列文章提供資料和可選話題。

  原文地址:http://blog.jooq.org/2013/10/27/top-5-useful-hidden-eclipse-features/

相關文章