如今IntelliJ已經走向開源,我認爲審視它和其他流行的JAVA IDE——NetBeans和Eclipse的對比將得到有意義的結論(編者注:因爲這三大IDE都已經開源,在無需付費這方面已經完全一致,所以功能的比較也能夠趨於公平了)。我個人已經使用NetBeans和Glassfish好多年了,但是現在寫這篇文章時我會嘗試着不讓長期使用這些Java IDE帶來的影響攪擾我的判斷。
代碼格式化:
IntelliJ IDE,Eclipse IDE以及Java NetBeans IDE在代碼格式化方面類似。這些技術能夠格式化整個源文件、被選中的部分源文件以及用戶特定的代碼。
查找和替換:
所有這三種IDE都支持帶大小寫匹配和正則表達式等選項的查找和替換功能。
Eclipse包含了一個爲實現查找和替換的通用對話框,這個對話框覆蓋着編輯器的窗口。
IntelliJ具有一個實現替換的特殊對話框窗口和一個實現查找的快速自動彈起頂條。IntelliJ的設計很巧妙。
NetBeans 使用了相似的方式,但它的自動彈出窗口是在編輯器窗口的底部。
代碼補全:
這三種IDE中都有相似的代碼補全功能,同時它們的設計也是相同的。IntelliJ具有一個被稱爲“駝峯(Camel Hump)”的特性,其功能是在單詞列表中查找合適的文本。
用戶提示:
Eclipse:一個像燈泡一樣的圖標會出現在左邊條上,左邊條帶有某行所對應的行號。當光標停留在這個燈泡圖標上時,具有提示作用的解釋文本就會彈出,同時一整列的解決方案隨即就顯示出來了。
IntelliJ:使用IntelliJ的用戶需要在解決方安列的提示文本上手動點擊來獲得用戶提示。
NetBeans:使用NetBeans時,用戶需要在提供可能的解決方案提示文檔上以滾動滑條的方法得到用戶提示。
宏
NetBeans:Netbeans支持宏編輯和幫助。用戶可以移動、重命名、編輯和設置快捷方式。幸運的是,每隔兩個位置用戶就可以爲宏編輯快捷方式,但用戶在沒有設置快捷方式的情況下是不能夠運行宏的。
InelliJ:在使用IntelliJ時,用戶可以對宏進行記錄、編輯和重命名。用戶不能設置宏的快捷方式。一旦用戶設置了宏名,那麼宏就會被自動添加。
Eclipse:Eclipse IDE不支持宏特性。
語法高亮
所有這三種IDE都支持語法高亮。它們都允許用戶改變預定義顏色。
代碼導航
導航器的一些特性如下:
◆結構視圖
◆過濾器
◆快速查找
◆彈出導航器
NetBeans IDE,Intellij和Eclipse支持結構視圖、過濾器和快速查找。兒NetBeans IDE和IntelliJ不支持彈出導航器特性,但Eclipse支持這項特性。
任務管理:
任務管理一些特定的子部分如下:
◆活動(active)源文件中的任務列表
◆項目中德任務列表
◆過濾
◆新任務定義
Eclipse:它具有經典的任務視圖。它允許用戶根據諸如描述、資源、路徑、地點和優先級等可獲得的域對任務進行分類。它支持工程中的任務列表,過濾以及新任務定義。
NetBeans IDE:-NetBeans IDE具有和Eclipse相同的任務管理方式。但是它不支持任務優先級。NetBeans IDE在不同的窗口中可以顯示錯誤。
IntelliJ IDE:它具有一個任務樹狀視圖,任務樹的葉子是任務,節點是文件。從一個任務移動到另一個任務是個困難而複雜的過程。它的設置中有一個默認的TODO命令。
重構
重構的特定子部分如下:
◆Find用法
◆重命名
◆移動
◆安全刪除
Eclipse IDE:Eclipse IDE支持find用法、重命名和移動特性。當一個用戶打算改變或者重命名一個方法時,標示符將會被設置成高亮,用戶繼而可以改變相應的方法名。
IntelliJ: IntelliJ支持Find用法、重命名、安全刪除和移動特性,在用戶新命名、重構、預覽和刪除按紐之前,一個單視圖會呈現在用戶眼前。
NetBeans IDE:NetBeans支持所有四項功能(find用法,重命名,移動以及安全刪除)。Netbeans的預覽設計同Eclipse類似。但它的預覽窗口是在屏幕下方顯示,程序員瀏覽起來不大方便。
自動代碼生成:
自動代碼生成有兩個字部分,它們是
◆構造器
◆設置器/獲得器(Getters)
NetBeans IDE:NetBeans IDE支持函數構造器和設置器。
IntelliJ IDE:支持函數構造器和設置器。
Eclipse:Eclipse也具有類似設計,同時支持函數構造器和設置器,它還具有一些其他能力,比如設置插入點,進而可以在該點處生成代碼。
文章轉自:http://developer.51cto.com/art/200910/158011.htm。