2018.11.28 IntelliJ IDEA 2018.3 正式版發佈。對於一個忠實愛好者,火燒眉毛的我下載了最新版原本體驗下。並且 IDEA 今年的第三次重大更新提供了不容錯過的顯著功能!你能夠訪問詳細概述的新內容 What's New,或直接訪問網站並當即下載 IntelliJ IDEA的全新版本。html
具體的安裝步驟就不在贅述了,能夠參考以前的 系列教程 | IntelliJ IDEA(一) :安裝與破解。java
安裝完成以後,啓動IntelliJ IDEA 2018.3,期待的等待加載過程,首先能夠看到,加載界面已經發生變化了,IntelliJ IDEA 2018.2的時候是大紅色的,如今改爲了以下的背景:git
加載完成以後,仍是一如既往的先讓你設置操做習慣,固然你也能夠默認設置而後直接跳過,以後進入功能界面,發現操做界面好像沒有什麼大的變化github
對於以下的彈框我仍是保持讓它每次啓動自動彈出,由於它能夠提示我一些快捷鍵的使用,畢竟快捷鍵那麼多,每次能瞭解多一點能更高效率的開發。正則表達式
既然操做界面上看不出什麼大的改變,那說明新的功能升級並不是是在工具的界面上而是一些功能使用上,咱們將根據官方博客以及本身的理解來爲你們解讀一下此次更新有哪些全新的功能。spring
IntelliJ IDEA 2018.3最新支持 Java 12,雖然Java 12還沒有發佈,並且咱們市場上如今廣泛的仍是在使用JDK 8,可是咱們能夠先提早了解一點。數據庫
即便在更復雜的狀況下,IntelliJ IDEA如今也能夠快速發現重複,例如變量名稱不一樣。IDEA 將在差別查看器中顯示重複項,所以您能夠將它們彼此並排比較。api
IDEA 檢測在後續最小 Call 以前進行沒必要要的已排序 Call 的狀況。還提供了用於刪除冗餘排序 Call 的快速修復程序。微信
咱們已經建立了一個新的基於數據流的檢查,稱爲 Condition is covered by further condition。當第一個條件被第二個條件覆蓋時,它會檢測到第一個條件是沒必要要的狀況。IDEA 提供了一個快速修復程序來消除這些冗餘條件。網絡
IntelliJ IDEA如今能夠檢測到@SuppressWarning註釋、// noinspection行註釋或/** noinspection */ JavaDoc註釋的冗餘用法。當被抑制的檢查再也不處理相關方法體、類或語句中的任何警告時,IDEA 不只會給您一個警告,並且還會提供一個快速修復程序來刪除這些沒必要要的註釋和註釋。
編輯器也是咱們開發中經常使用的一些功能,新版本中 IDEA 又爲咱們推出了一些實用又便捷的操做。
IntelliJ IDEA 2018.3如今支持多行 TODO 註釋,如今第一個和全部後續的 TODO 註釋行在編輯器中突出顯示並列在TODO工具窗口中。只需從多行 TODO 註釋的第二行開始添加縮進,IDEA 就會將其與普通註釋區分開來。
老版本中,是不支持多行 TODO 註釋的顯示的,而在新版本中,若是 todo 註釋有多行,你只須要在下面幾行前面再添加一個空格便可。
咱們已經能夠從格式化、導入優化和代碼重排中鎖定某些文件——其實是從任何涉及格式化的操做中鎖定,不管是顯式的仍是隱式的。只需建立一個範圍,並將任何不能格式化的文件添加到其中!
IntelliJ IDEA在一個新的縮進狀態欄中顯示當前文件中的縮進大小。若是文件的縮進與項目的當前設置不匹配,將在縮進視圖中添加星號。如今能夠選擇控制狀態欄中當前縮進的操做。
IDE如今爲EditorConfig文件提供語法突出顯示和代碼完成。您還可使用新的縮進狀態欄彈出窗口輕鬆導航到正在使用的EditorConfig文件。
IDEA 中的版本控制一直是我比較熱愛的一個功能,對於代碼分支管理,代碼拉取提交都比較友好,特別是 Merge 衝突的時候,本地代碼和遠程分支代碼的衝突 Diff Code 分界面展現,清晰一目瞭然,減小了合併代碼的痛苦。在新版本中 IDEA 又對版本控制作了哪些優化呢?
IntelliJ IDEA最新支持GitHub Pull請求。從全新的GitHub pull requests工具窗口預覽GitHub儲存庫中的全部拉請求。使用diff預覽更改,或者經過上下文菜單從Pull請求建立一個本地分支,而後將其合併爲常規分支。
之前,History up to Here 只顯示所選提交以前文件的歷史記錄,可是如今它能夠經過切換到工具欄上顯示全部分支來顯示文件以後發生的事情。若是文件後來被刪除了,這可能特別有用,由於要查明這種狀況並不是易事。
您如今能夠在VCS日誌中從提交散列導航到VCS日誌選項卡中的提交以後,或者在使用Go to hash/branch/tag操做以後,使用前進和後退導航操做。使用左右箭頭鍵導航到子或父提交。
用 IDEA合併代碼時,發現有時候只是兩個開發者提交的代碼是由於格式化,致使一些空格的差別,咱們可能也須要一個個檢查下。
如今,在新版本中,IDEA 能夠在合併時忽略空白更改。在「 合併修訂版本」對話框中,有一個新的「 忽略」 下拉菜單,其中包含用於在合併時隱藏或修剪空白更改的選項。
IntelliJ IDEA 2018.3容許您經過方便的新的Get from Branch操做輕鬆地將文件從一個Git分支複製到另外一個Git分支,該操做可從Compare branches對話框的Files選項卡中得到。
IDE將在「 提交」對話框中顯示您要提交文件的分支名稱。目前 IDEA 已經爲Git,Mercurial 和 SVN 實現了這個功能。
Diff Preview如今可在Version Control工具窗口的File History選項卡中找到。
IntelliJ IDEA 2018.3引入了一種更好的方法來瀏覽項目和IDEA。請熱烈歡迎從新設計Search Everywhere!實際上,它不只僅是Search Everywhere,由於它包含了全部其餘導航對話框:Search Everywhere, Find Action,Go to class,Go to file和Go to symbol。請注意,全部這些導航對話框仍可經過本身的鍵盤快捷方式訪問,如前所述。
IDEA 中的搜索能夠分爲如下幾類:
在 IDEA 的世界裏,搜索無處不在,你幾乎能夠瞬間找到你想要找到的任何一行代碼甚至任何一個字。新版中,IDEA 更是將類、文件、符號、Action 搜索與雙 Shift 鍵調出來的 SearchEverywhere 無縫地結合在一塊兒。
如今,能夠在路徑中的查找/路徑替換對話框中執行多行片斷的搜索/替換 。您再也不須要使用正則表達式來執行多行搜索。
IntelliJ IDEA 2018.3提供了一個更新的、流線型的結構化搜索和替換對話框。自動完成功能可在搜索字段的預約義模板中使用。您能夠在搜索圖標下方的下拉菜單中查看搜索歷史記錄。範圍配置如今也更容易,更靈活。複雜的「 編輯變量」表單已替換爲過濾器面板,您能夠在更新的對話框中找到該面板。
舉個栗子:若是咱們想搜索全部的 try catch 語句塊,在調出結構化搜索框以後,能夠輸入如下文本:
try { $TryStatement$; } catch($ExceptionType$ $Exception$){ $CatchStatement$; }
而後,IDEA 就會把全部的 try catch 語句塊搜索出來,而新版更是強化了這個功能,下面我用兩張動圖演示一下此次更新的兩個功能
結構化搜索因爲輸入的文本比較長,因此通常咱們會本身預置一些模板,而後給模板命名,而後結構化搜索的時候呢,咱們就能夠直接基於這個模板名來搜索,新版更新的第一個功能就是,在文本輸入框裏,按下智能補全鍵,能夠迅速調出模板,按照最近的搜索歷史排序,而後再按下回車,文本就自動給你填充上了,你還能夠點擊左上角的搜索 icon,也會展現你最近的搜索記錄,這些記錄是以文本的方式展現的。
上面的文本就是系統內置的結構化模板 try's,點擊完 Find 按鈕以後,全部的 try catch 都會展現出來,咱們還能夠進一步過濾,好比,咱們想要找出 catch 到的 exception 的名字爲 flash,給對應的模板變量加上一個 Text 類型的 filter 便可迅速定位。
2018.3版本中更新了「首選項(設置)」 中的「 插件」頁面,以便更輕鬆地管理,安裝,卸載和更新插件。如今,您不只能夠按名稱搜索插件,還能夠按標籤搜索插件。它變得更好,由於您如今還能夠經過下載,名稱,評級,功能或更新對結果進行排序。
調出插件配置以後,頁面分爲三大部分:
最後一個是配置項,你能夠自定義你的插件倉庫,你能夠給配置插件下載的 http 代理(尤爲是國外網絡訪問差的時候),你還能夠從本地硬盤中安裝插件
IntelliJ IDEA 2018.3帶有一種新的集中式方法,可經過新的Run Anything操做(雙擊 Ctrl
調出窗口)在IDEA 中運行命令。使用新操做啓動運行配置,能夠運行包括 Maven 、Gradle 等其餘終端命令。
在菜單欄中以下的圖標按鈕便可打開,亦可經過快捷鍵雙擊 Ctrl
。
另外,只需按Shift鍵便可將Run Anything對話框切換到Debug Anything模式。
IDEA 此次又推出了一款新主題 High constrast,可是我感受不是特別好看 我仍是喜歡原來的 Darcula,根據每一個人的口味吧,本身選擇。主題預覽以下:
IntelliJ IDEA 2018.3徹底支持最近發佈的Spring Boot 2.1。如今,當您使用Spring Initializr建立項目時,IDE將建議安裝或啓用適當的插件,以確保支持全部選定的技術。
IDEA 的 debug 功能不管是對於調試找錯仍是閱讀源碼,都發揮了很是重要的做用,新版 IDEA 對 debug 功能進一步增強,如今不只僅能 debug 當前的應用,並且可以 attach 到任意的 Java 進程,attach 以後,你就能夠看到該進程的線程狀態,而且使用強大的 Memory View 功能能夠看到當前內存的狀態。
如今,在調試遠程進程時,IDE能夠自動從新啓動配置。只需 爲遠程調試配置啓用新的自動重啓選項。
IntelliJ IDEA 2018.3如今支持遠程JVM中的異步堆棧跟蹤。要遠程開始使用代理:
如今,您能夠在「 異步註釋配置」對話框中定義本身的異步註釋。
IntelliJ IDEA 2018.3提供了一些方便的新操做,能夠刪除項目中的全部斷點或文件中的全部斷點。您能夠在「首選項(設置)」中爲這些快捷方式分配本身的快捷方式 鍵圖| 調試器操做。
在網上看到一篇文章說 IDEA 2018.3 支持 CPU 的火焰圖了,可是我看官網上沒有介紹,因此也不肯定,可是若是真有這功能我感受滿酷炫的。這裏引用一下他的內容作個介紹。
IDEA 分析 Java 程序的性能分析了,主要包括以下幾個方面:
下面用一章動圖來展現一下,具體的細節讀者可自行探索
有了這個神器以後,你不須要額外的 profiler 工具,就能夠直接在 IDEA 裏面完成應用程序的性能分析。預計不久的未來,Eclipse MAT 相關的功能可能也會移植到 IDEA 中,屆時,Java 應用程序性能分析,堆分析,gc 分析將通通能夠在 IDEA 裏面運行,真正的 All In One 時代即將到來!
固然本次的更新不止這些,篇幅有限,並且不少我目前也用不上,例如:關於Kubernetes的支持Helm資源文件,在Helm資源文件中導航,關於數據庫的SQL代碼完成的改進等等。
若是你感興趣的話能夠前往 IDEA 的官網閱讀下他們更新的日誌,或下載他們最新的版本體驗下。IDEA 如今發展的愈來愈好,用戶確定也會愈來愈多,尚未加入體驗的如今能夠試着使用下。
參考:1. IDEA 的新功能 2. [微信公衆號] 閃電俠的博客