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