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

作為一個從事 Java 開發的程序員,每天離不開編輯器的幫助。還記得剛開始學習 Java 編程的時候,使用 Eclipse 作為日常開發工具。後來工作以後,需要使用 Intellij IDEA,剛開始其實並不想怎麼用。畢竟 Eclipse 已經足夠強大,可以滿足日常開發的需求,何必再花時間再去學習其他工具那。剛開始改變是困難的。但是沒辦法,公司強制使用,不得不去了解去使用。後來用了一段時間才發現 IDEA 是的真的強大。

如果想學習Java工程化、高性能及分佈式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:854630135,群裡有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。

真香啊~

下面就來介紹一下本人覺得 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.DEFAULT\Control Panel\Input Method\Hot Keys,保存的是默認的快捷鍵配置;

若修改上一個註冊表不好使,那就把下面的默認的也修改了。

經測試,修改第一個,重啟之後不再生效,所以默認配置也需要修改

----

除了最基本的代碼提示功能,IDEA 還提供更加智能的代碼提示功能,該功能可以基於上下文環境,智能幫你過濾可以使用方法,推導出最適合的方法。該快捷鍵為 Ctrl+Shift+Space。

我們用下面兩張圖比對兩者的區別。

基本提示功能:

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

智能代碼提示:

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

觀察上面兩圖可以看出,基本代碼提示功能會顯示所有可用的方法建議,而智能代碼提示根據上下文過濾了其他不可用的提示。

參數提示

如果想學習Java工程化、高性能及分佈式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:854630135,群裡有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。

當一個方法參數列表過多時,我們往往只會記住前兩個參數類型,而後面參數類型我們只能去翻閱方法才。在 IDEA 中,你無需這般做。只要你將光標放置在放入參數列表中,暫停一會,IDEA 就會幫你智能提示。

如果並不想等待一會,也可以,在方法內使用 ctrl +P 也可以快速出現提示框。

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

快速完成語句

在 IDEA 中,可以使用快捷鍵 Ctrl+Shift+Enter 快速完成聲明 if while 等語句。

在下面的例子中,我們輸入 while ,接著我們輸入快捷鍵,我們可以看到 IDEA 自動幫我們完整這個結構,然後只需要輸入判斷條件即可。

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

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

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

Postfix Code

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

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

我們還可以查看在設置中 Editor | General | Postfix Completion 查看更多用法。

Live Template

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

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

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

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

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

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

強大的搜索功能

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

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

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

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

還有的時候我們可能只記得類中的某個關鍵字,那上面的方法就無效。但是沒關係,IDEA 還可以幫你用關鍵字去搜索找到

我們只要輸入 Ctrl+Alt+F 快捷鍵。

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

版本控制功能

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

我們以 Dubbo Git 項目為例。我們可以在 Version Control Log 處圖形化查看倉庫歷史。

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

如果想學習Java工程化、高性能及分佈式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:854630135,群裡有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。

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

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

當提交代碼時,若存在代碼衝突時,IDEA 顯示衝突的文件.

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

點擊文件,選擇 Merge, 然後會顯示窗口,我們可以瀏覽兩邊代碼,自己靈活選擇到底選擇本地變更或者服務端的變更。

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

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

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

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

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

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

重構功能

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

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

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

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

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

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

其他

插件

IDEA 安裝時就會集成很多官方插件,增加對其他技術,語言的支持。你如果不喜歡,可以根據自己的選擇在 Setting/Plugins 自由選擇啟動或禁用。

你還可以在官方的插件平臺 https://plugins.jetbrains.com/找到一些第三方非常優秀的插件,實現其他擴展功能,如翻譯。

主題

IDEA 自帶兩套非常漂亮的主題。一套為亮色的,另一套為暗色的。

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

個人覺得暗色系列的主題,更加好看,且不刺眼。

如果不喜歡自帶的主題,可以自定義,或者下載主題插件,如 Material Theme UI。

版本更新

IDEA 迭代更新速度較快,基本每半年就會有一個大版本更新,以及時常會有一些小版本更新。每次更新以後都會一些新功能。

IDEA 一些缺點

上面說了這麼多 IDEA 功能,也講講一些 IDEA 的缺點。

IDEA 很多強大的功能都是基於其緩存與索引。當打開一個新項目的時候,IDEA 會自動建立索引。這個有時候對大型項目特別不友好,可能會出現卡頓現象。特別對於機械硬盤用戶,這種現象會更加明顯。

因此強烈建議 IDEA 創建索引的時候不要動項目,等待創建完畢即可。

還有一點就是 IDEA 中沒有類似 Eclipse 中的 workspace 的概念,無法做到一個 IDEA 工程打開多個項目。這是剛從 Eclipse 轉過來同學困惑的地方。不過等你真正熟悉 IDEA,真的需要 workspace 嗎?

結束

上面介紹 IDEA 這麼多功能,沒有在使用的讀者們,不妨下載使用看看。剛開始從其他編輯器轉過來確實很難,但是一旦你喜歡上 IDEA,你就不會釋手了。

如果想學習Java工程化、高性能及分佈式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:854630135,群裡有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。


分享到:


相關文章: