作為一個從事 Java 開發的程式設計師,每天離不開編輯器的幫助。還記得剛開始學習 Java 程式設計的時候,使用 Eclipse 作為日常開發工具。後來工作以後,需要使用 Intellij IDEA,剛開始其實並不想怎麼用。畢竟 Eclipse 已經足夠強大,可以滿足日常開發的需求,何必再花時間再去學習其他工具那。剛開始改變是困難的。但是沒辦法,公司強制使用,不得不去了解去使用。後來用了一段時間才發現 IDEA 是的真的強大。
真香啊~
下面就來介紹一下本人覺得 IDEA 一些強大的功能。
文中提到的快捷鍵只適用於 Windows 平臺
更加智慧的協助開發
我們使用編輯器的目的就是在於簡化開發難度,加快開發速度。IDEA 就有許多功能,可以更加智慧的、更加快速的幫你完成程式碼開發。
程式碼提示
下面先介紹最基本的程式碼提示功能。
一般編輯器都會提供基本提示功能,可以快速提供可用的方法,變數等。當然 IDEA 也存在這個,在 IDEA 中使用 Ctrl + Space
可以快速提示。
PS:對於 Windows 平臺使用者,這個快捷鍵十分不友好,與輸入法切換快捷鍵衝突,可以使用如下方法解決。
1、 開啟登錄檔,跳轉到HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys目錄下面
2.、選擇00000070(中文繁體)或者00000010(中文簡體)
3.、將Key Modifiers的第一個位元組設定為00(02c00000->00c00000)
4、 將Virtual Key的第一個位元組設定為ff(20000000->ff000000)
5、 登出使用者然後重新登入,搞定。
另外 HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys,儲存的是當前使用者的快捷鍵配置;
HKEY_USERS.DEFAULTControl PanelInput MethodHot Keys,儲存的是預設的快捷鍵配置;
若修改上一個登錄檔不好使,那就把下面的預設的也修改了。
經測試,修改第一個,重啟之後不再生效,所以預設配置也需要修改。
—-
除了最基本的程式碼提示功能,IDEA 還提供更加智慧的程式碼提示功能,該功能可以基於上下文環境,智慧幫你過濾可以使用方法,推匯出最適合的方法。該快捷鍵為Ctrl+Shift+Space
。
我們用下面兩張圖比對兩者的區別。
基本提示功能:
智慧程式碼提示:
觀察上面兩圖可以看出,基本程式碼提示功能會顯示所有可用的方法建議,而智慧程式碼提示根據上下文過濾了其他不可用的提示。
引數提示
當一個方法引數列表過多時,我們往往只會記住前兩個引數型別,而後面引數型別我們只能去翻閱方法才。在 IDEA 中,你無需這般做。只要你將游標放置在放入引數列表中,暫停一會,IDEA 就會幫你智慧提示。
如果並不想等待一會,也可以,在方法內使用 ctrl +P
也可以快速出現提示框。
快速完成語句
在 IDEA 中,可以使用快捷鍵 Ctrl+Shift+Enter
快速完成宣告 if while
等語句。
在下面的例子中,我們輸入 while
,接著我們輸入快捷鍵,我們可以看到 IDEA 自動幫我們完整這個結構,然後只需要輸入判斷條件即可。
此外,我們還可以用該快捷鍵完成下面的操作。
Postfix Code
這個模式可以在編寫程式碼時減少向後插入符號跳轉。我們可以在變數後面直接跟上 if
、for
等表示式,IDEA 會直接轉換成相應的語句。
我們還可以檢視在設定中 Editor | General | Postfix Completion
檢視更多用法。
Live Template
我們有時候會儲存一些程式碼片段,然後在需要的時候直接貼上。而 IDEA Live Template
就可以幫我們儲存這個程式碼片段,且可以自定義關鍵字,需要的時候只需要輸入關鍵字,就可以直接輸出程式碼。而且 IDEA 也已經定義很多,我們可以直接上手使用。
如上圖,我們可以輸入 psfs
,然後輸入Enter鍵或者 Tab
鍵,直接生成 public static final String
。
輸入 psvm
,快速生成 main
方法。
我們可以使用下面的步驟自定義自己的 Live Template
。
強大的搜尋功能
開發的時候我們會去檢視類的原始碼,有時我們只知道類的名字,卻不知道具體包的位置,這個時候IDEA 強大的搜尋功能可以幫我們迅速的找到。
我們可以按兩下 shift
,在彈出的視窗輸入類名,就可以找到。
這個功能不僅可以找類,也可以用於找檔案等。
還有的時候我們可能只記得類中的某個關鍵字,那上面的方法就無效。但是沒關係,IDEA 還可以幫你用關鍵字去搜尋找到
我們只要輸入 Ctrl+Alt+F
快捷鍵。
版本控制功能
在團隊開發中,我們就需要使用到相關版本控制工具,比如 SVN、Git 等。IDEA 預設自帶強大版本控制工具,可以快速瀏覽程式碼變更,倉庫提交歷史以及合併程式碼。
我們以 Dubbo Git 專案為例。我們可以在 Version Control Log 處圖形化檢視倉庫歷史。
協作開發的時候,很容易發生衝突,這個時候如果沒有其他很好的工具,解決衝突是一件很麻煩的事,非常容易將程式碼合丟。
不過使用 IDEA 強大的解決衝突的功能,可以幫我們解決這個問題。
當提交程式碼時,若存在程式碼衝突時,IDEA 顯示衝突的檔案.
點選檔案,選擇 Merge, 然後會顯示視窗,我們可以瀏覽兩邊程式碼,自己靈活選擇到底選擇本地變更或者服務端的變更。
這裡說個小技巧,我們協作開發時,若有些人使用 TAB
作為縮排然後提交程式碼,而當你使用空格作為縮排,一旦將程式碼格式化,你提交程式碼的時候,這個時候衝突就會是個在災難。如下所示.
這樣滿屏充滿干擾的變更的時候,很容易合錯程式碼。
。。。。
。。。。
我們選擇忽略空白行,IDEA 會把這種自動或略空白行,這樣我們就可以針對自己變更合併即可。
重構功能
我們編碼的時候有可能會寫錯單詞,寫錯並不可怕,怕的是你到最後才發現。這個時候你發現許多地方都用到這個,這個時候你在一個個變更就真的很費勁了。
不用怕,IDEA 重構功能就可以幫助到我們。
IDEA 重新命名功能可以快速幫修改所有引用這個變數的地方。
重構功能還可以快速提取方法。
其他
外掛
IDEA 安裝時就會整合很多官方外掛,增加對其他技術,語言的支援。你如果不喜歡,可以根據自己的選擇在 Setting/Plugins
自由選擇啟動或禁用。
你還可以在官方的外掛平臺 https://plugins.jetbrains.com/找到一些第三方非常優秀的外掛,實現其他擴充套件功能,如翻譯。
主題
IDEA 自帶兩套非常漂亮的主題。一套為亮色的,另一套為暗色的。
個人覺得暗色系列的主題,更加好看,且不刺眼。
如果不喜歡自帶的主題,可以自定義,或者下載主題外掛,如 Material Theme UI
。
版本更新
IDEA 迭代更新速度較快,基本每半年就會有一個大版本更新,以及時常會有一些小版本更新。每次更新以後都會一些新功能。
IDEA 一些缺點
上面說了這麼多 IDEA 功能,也講講一些 IDEA 的缺點。
IDEA 很多強大的功能都是基於其快取與索引。當開啟一個新專案的時候,IDEA 會自動建立索引。這個有時候對大型專案特別不友好,可能會出現卡頓現象。特別對於機械硬碟使用者,這種現象會更加明顯。
因此強烈建議 IDEA 建立索引的時候不要動專案,等待建立完畢即可。
還有一點就是 IDEA 中沒有類似 Eclipse 中的 workspace 的概念,無法做到一個 IDEA 工程開啟多個專案。這是剛從 Eclipse 轉過來同學困惑的地方。不過等你真正熟悉 IDEA,真的需要 workspace 嗎?
結束
上面介紹 IDEA 這麼多功能,沒有在使用的讀者們,不妨下載使用看看。剛開始從其他編輯器轉過來確實很難,但是一旦你喜歡上 IDEA,你就不會釋手了。
IDEA 還有其他很多功能,一篇文章不能全部都說到,各位讀者可以自行去探索。博主每次研究 IDEA 的功能時,都能發現一些以前不知道的技巧。