IDEA與Eclipse的編碼協(xié)助功能

2018-01-29 10:10 更新

編碼協(xié)助

Eclipse和IntelliJ IDEA都提供了編碼協(xié)助功能,如代碼完成、代碼生成、快速修復(fù)、實(shí)時(shí)模板等。

快速修復(fù)

要在IntelliJ IDEA中應(yīng)用快速修復(fù),請(qǐng)按Alt+Enter:

IDEA與Eclipse編碼協(xié)助功能

所有快速修復(fù)都基于Settings |檢查(Settings | Inspections)中配置的檢查 :

IDEA與Eclipse編碼協(xié)助功能

如果您想一次性將快速修復(fù)應(yīng)用到多個(gè)位置(即整個(gè)文件夾,模塊甚至項(xiàng)目),您可以通過(guò)Analyze | 按名稱運(yùn)行檢查(Analyze | Run Inspection By Name)運(yùn)行相應(yīng)的檢查,或通過(guò)Analyze |檢查代碼(Analyze | Inspect Code)運(yùn)行整批檢查:

IDEA與Eclipse編碼協(xié)助功能

除了徹頭徹尾的問(wèn)題,IntelliJ IDEA還識(shí)別可以通過(guò)所謂的意圖 (也可用Alt+Enter)來(lái)改進(jìn)或優(yōu)化的代碼結(jié)構(gòu):

IDEA與Eclipse編碼協(xié)助功能


Eclipse
IntelliJ IDEA
操作快捷鍵操作快捷鍵
快速解決Ctrl+1顯示意向操作Alt+Enter

生成代碼

生成代碼的關(guān)鍵操作是:Code | 生成,可通過(guò)Alt+Insert實(shí)現(xiàn):

IDEA與Eclipse編碼協(xié)助功能

此操作是上下文相關(guān)的,不僅在編輯器中可用,而且在項(xiàng)目工具窗口和導(dǎo)航欄中也可用 :

IDEA與Eclipse編碼協(xié)助功能

代碼完成

IntelliJ IDEA提供了幾種不同類型的代碼完成,包括:

  • 基本完成
  • 第二個(gè)基本完成
  • 智能完成
  • 第二個(gè)智能完成
  • 聲明完成

要詳細(xì)了解這些完成類型之間的差異,請(qǐng)參閱 IntelliJ IDEA中的“前20個(gè)代碼完成功能”。

默認(rèn)情況下,IntelliJ IDEA不會(huì)顯示所選項(xiàng)目的文檔(Documentation)彈出窗口,但是您可以在設(shè)置/首選項(xiàng)|編輯|代碼完成|Autopopup documentatoin (ms)(Settings/Preferences | Editor | Code Completion | Autopopup documentatoin in (ms))中啟用它:

IDEA與Eclipse編碼協(xié)助功能


如果您不想啟用此選項(xiàng),則可以在需要時(shí)通過(guò)按下Ctrl+Q手動(dòng)調(diào)用此彈出窗口 :

IDEA與Eclipse編碼協(xié)助功能

當(dāng)插入符號(hào)的方法或構(gòu)造函數(shù)的括號(hào)內(nèi),你可以通過(guò)使用Ctrl+P調(diào)用參數(shù)信息(Parameter Info)獲取參數(shù)信息:

IDEA與Eclipse編碼協(xié)助功能

Eclipse
IntelliJ IDEA
操作快捷鍵操作快捷鍵
代碼完成Ctrl+Space基本完成Ctrl+Space
--智能完成Ctrl+Shift+Space
--聲明完成Ctrl+Shift+Enter

模板

您可能習(xí)慣于在編輯器中輸入main,然后調(diào)用代碼完成來(lái)將其轉(zhuǎn)換為主方法定義。但是,IntelliJ IDEA模板有點(diǎn)不同:

模板Eclipse
IntelliJ IDEA
定義一個(gè)主要的方法mainpsvm
遍歷數(shù)組foritar
迭代一個(gè)集合foritco
遍歷一個(gè)列表foritli
迭代使用foreach語(yǔ)法的迭代foreachiter
打印到System.outsysoutsout
打印到System.errsyserrserr
定義一個(gè)靜態(tài)字段static_finalpsf

可用模板的列表可以在 Settings / Preferences |編輯|實(shí)時(shí)模板(Settings/Preferences | Editor | Live Templates)中找到。在那里,你也可以添加自己的模板或修改任何現(xiàn)有的模板。

雖然IntelliJ IDEA建議在代碼完成結(jié)果中使用模板,但您可以簡(jiǎn)單地通過(guò)按下Tab來(lái)輕松擴(kuò)展任何模板,而無(wú)需使用代碼完成。

后綴模板

除了“常規(guī)”模板之外,IntelliJ IDEA還提供了所謂的后綴模板(postfix template)。當(dāng)您想要將模板應(yīng)用到您已輸入的表達(dá)式時(shí),它們非常有用。例如,鍵入一個(gè)變量名稱,添加.ifn并按下Tab。IntelliJ IDEA將把你的表達(dá)變成一個(gè) if (...==null){...}聲明。

要查看可用的后綴模板的完整列表,請(qǐng)轉(zhuǎn)至設(shè)置/首選項(xiàng)| 編輯| 一般| 后綴完成(Settings/Preferences | Editor | General | Postfix Completion)。

使用實(shí)時(shí)模板環(huán)繞

帶有模板的環(huán)繞是另一種與實(shí)時(shí)模板類似的附加功能,但可以使用 ctrl+ Alt + J 將其應(yīng)用于選定的代碼。

若要定義您自己的模板環(huán)繞,請(qǐng)轉(zhuǎn)至:設(shè)置/首選項(xiàng)| 編輯| 一般| 實(shí)時(shí)模板(Settings/Preferences | Editor | General | Live Templates)并在模板文本中使用$SELECTION$:

$LOCK$.readLock().lock();
try {
   $SELECTION$
       } finally {
   $LOCK$.readLock().unlock();
}

導(dǎo)航

下表粗略地將Eclipse中可用的導(dǎo)航操作與IntelliJ IDEA中的導(dǎo)航操作進(jìn)行了映射:

Eclipse
IntelliJ IDEA
操作快捷鍵操作快捷鍵
快速訪問(wèn)Ctrl+3到處搜索Shift x 2
打開(kāi)類型Ctrl+Shift+T導(dǎo)航到類Ctrl+N
打開(kāi)資源Ctrl+Shift+R導(dǎo)航到文件Ctrl+Shift+N
--導(dǎo)航到符號(hào)Ctrl+Shift+Alt+N
快速切換編輯器Ctrl+E切換器Ctrl+Tab
--最近的文件Ctrl+E
打開(kāi)聲明F3導(dǎo)航到聲明Ctrl+B
開(kāi)放式的層次結(jié)構(gòu)F4導(dǎo)航到類型層次結(jié)構(gòu)Ctrl+H
--顯示UML彈出Ctrl+Alt+U
快速大綱Ctrl+O文件結(jié)構(gòu)Ctrl+F12
后退Ctrl+[后退Ctrl+Alt+Left
前進(jìn)Ctrl+]前進(jìn)Ctrl+Alt+Righ

重構(gòu)

下表將Eclipse中最常見(jiàn)的重構(gòu)的快捷方式與IntelliJ IDEA中的重構(gòu)進(jìn)行了映射 :

Eclipse
IntelliJ IDEA
操作快捷鍵操作快捷鍵
提取局部變量Ctrl+Alt+L提取變量Ctrl+Alt+V
分配給字段Ctrl+2提取字段Ctrl+Alt+F
顯示重構(gòu)快捷菜單Ctrl+Alt+T重構(gòu)當(dāng)前Ctrl+Shift+Alt+T
重命名Ctrl+Alt+R重命名Shift+F6

撤銷

有時(shí),重構(gòu)可能會(huì)影響項(xiàng)目中的許多文件。IntelliJ IDEA不僅負(fù)責(zé)安全地應(yīng)用更改,還可以讓您恢復(fù)它們。要撤消最后一次重構(gòu),請(qǐng)將焦點(diǎn)切換到“項(xiàng)目工具”窗口,然后按Ctrl+Z。

搜索

以下是Eclipse和IntelliJ IDEA中最常見(jiàn)的搜索操作和快捷方式的映射:

Eclipse
IntelliJ IDEA
操作快捷鍵操作快捷鍵
打開(kāi)搜索對(duì)話框Ctrl+H在路徑中查找Ctrl+Shift+F
在工作區(qū)中的引用Ctrl+Shift+G找到用法Alt+F7
--顯示用法Ctrl+Alt+F7
--查找使用情況設(shè)置Ctrl+Shift+Alt+F7
發(fā)生在文件中Ctrl+Alt+U突出顯示文件中的用法Ctrl+F7
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)