為什麼選擇 Intellij IDEA 作為日常開發工具

good_andyxu發表於2019-01-13

作為一個從事 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 自動幫我們完整這個結構,然後只需要輸入判斷條件即可。

complete code struct

此外,我們還可以用該快捷鍵完成下面的操作。

wrap method argument

Postfix Code

這個模式可以在編寫程式碼時減少向後插入符號跳轉。我們可以在變數後面直接跟上 iffor 等表示式,IDEA 會直接轉換成相應的語句。

postfix-code

我們還可以檢視在設定中 Editor | General | Postfix Completion 檢視更多用法。

Live Template

我們有時候會儲存一些程式碼片段,然後在需要的時候直接貼上。而 IDEA Live Template 就可以幫我們儲存這個程式碼片段,且可以自定義關鍵字,需要的時候只需要輸入關鍵字,就可以直接輸出程式碼。而且 IDEA 也已經定義很多,我們可以直接上手使用。

live template

如上圖,我們可以輸入 psfs,然後輸入Enter鍵或者 Tab 鍵,直接生成 public static final String

輸入 psvm,快速生成 main 方法。

我們可以使用下面的步驟自定義自己的 Live Template

設定 live-template

強大的搜尋功能

開發的時候我們會去檢視類的原始碼,有時我們只知道類的名字,卻不知道具體包的位置,這個時候IDEA 強大的搜尋功能可以幫我們迅速的找到。

我們可以按兩下 shift,在彈出的視窗輸入類名,就可以找到。

基本搜尋功能

這個功能不僅可以找類,也可以用於找檔案等。

還有的時候我們可能只記得類中的某個關鍵字,那上面的方法就無效。但是沒關係,IDEA 還可以幫你用關鍵字去搜尋找到
我們只要輸入 Ctrl+Alt+F 快捷鍵。

關鍵字搜尋

版本控制功能

在團隊開發中,我們就需要使用到相關版本控制工具,比如 SVN、Git 等。IDEA 預設自帶強大版本控制工具,可以快速瀏覽程式碼變更,倉庫提交歷史以及合併程式碼。

我們以 Dubbo Git 專案為例。我們可以在 Version Control Log 處圖形化檢視倉庫歷史。

Git log

協作開發的時候,很容易發生衝突,這個時候如果沒有其他很好的工具,解決衝突是一件很麻煩的事,非常容易將程式碼合丟。

不過使用 IDEA 強大的解決衝突的功能,可以幫我們解決這個問題。

當提交程式碼時,若存在程式碼衝突時,IDEA 顯示衝突的檔案.

程式碼衝突

點選檔案,選擇 Merge, 然後會顯示視窗,我們可以瀏覽兩邊程式碼,自己靈活選擇到底選擇本地變更或者服務端的變更。

合併

這裡說個小技巧,我們協作開發時,若有些人使用 TAB 作為縮排然後提交程式碼,而當你使用空格作為縮排,一旦將程式碼格式化,你提交程式碼的時候,這個時候衝突就會是個在災難。如下所示.

災難

這樣滿屏充滿干擾的變更的時候,很容易合錯程式碼。

。。。。
。。。。

我們選擇忽略空白行,IDEA 會把這種自動或略空白行,這樣我們就可以針對自己變更合併即可。

減少干擾

重構功能

我們編碼的時候有可能會寫錯單詞,寫錯並不可怕,怕的是你到最後才發現。這個時候你發現許多地方都用到這個,這個時候你在一個個變更就真的很費勁了。

不用怕,IDEA 重構功能就可以幫助到我們。

IDEA 重新命名功能可以快速幫修改所有引用這個變數的地方。

rename

重構功能還可以快速提取方法。

重構方法

其他

外掛

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 的功能時,都能發現一些以前不知道的技巧。

相關文章