JetBrain 是一家偉大的公司,一直致力於爲開發者開發世界上最好用的集成開發環境php
就在上週,JetBrain 公司發佈了 Java 集成開發環境 IntelliJ IDEA 最新版本 2018.3 Beta
,本篇文章,我將根據官方博客以及本身的理解來爲你們解讀一下此次更新有哪些重磅的功能。java
IntelliJ IDEA(如下簡稱 IDEA) 中的搜索能夠分爲如下幾類node
在 IDEA 的世界裏,搜索無處不在,你幾乎能夠瞬間找到你想要找到的任何一行代碼甚至任何一個字。新版中,IDEA 更是將類、文件、符號、Action 搜索與雙 Shift
鍵調出來的 Search Everywhere
無縫地結合在一塊兒。python
在老的版本中,類、文件、符號、Action 搜索是獨立的快捷鍵,在新版中,任意一種類型的搜索行爲被觸發,將彈出來如下窗口tomcat
從以上演示能夠看到,咱們調出搜索類的窗口,該窗口將首先會展現基於類名搜索的結果,若是你想複用當前輸入的字符基於其餘的語義(好比文件或者符號)進行搜索,只須要按 Tab 鍵,結果瞬間就出來了。網絡
其實,IDEA 裏面除了以上五種類型的搜索,還有一種很是強大的搜索叫作結構化搜索
,你能夠基於必定的代碼結構搜到你所須要的結果。異步
舉個栗子:若是咱們想搜索全部的 try catch 語句塊,在調出結構化搜索框以後,能夠輸入如下文本jvm
try {
$TryStatement$;
} catch($ExceptionType$ $Exception$) {
$CatchStatement$;
}
複製代碼
而後,IDEA 就會把全部的 try catch 語句塊搜索出來,而新版更是強化了這個功能,下面我用兩張動圖演示一下此次更新的兩個功能maven
結構化搜索因爲輸入的文本比較長,因此通常咱們會本身預置一些模板,而後給模板命名,而後結構化搜索的時候呢,咱們就能夠直接基於這個模板名來搜索,新版更新的第一個功能就是,在文本輸入框裏,按下智能補全鍵,能夠迅速調出模板,按照最近的搜索歷史排序,而後再按下回車,文本就自動給你填充上了,你還能夠點擊左上角的搜索 icon,也會展現你最近的搜索記錄,這些記錄是以文本的方式展現的編輯器
上面的文本就是系統內置的結構化模板 try's
,點擊完 Find
按鈕以後,全部的 try catch 都會展現出來,咱們還能夠進一步過濾,好比,咱們想要找出 catch 到的 exception 的名字爲 flash
,給對應的模板變量加上一個 Text 類型的 filter 便可迅速定位
更多技巧在關注"閃電俠的博客"公衆號以後,回覆 idea 便可獲取。
你能夠雙擊 ctrl
鍵,調出 Run Anything
窗口,你能夠輸入點什麼來運行任意能夠運行的東西,好比起 tomcat 容器,單元測試,甚至能夠運行終端指令,gradle、maven 構建命令
另外,你還能夠按住 shift 鍵,那麼全部支持 debug 的運行將秒變 debug 模式
IDEA 中不少強大的功能都是經過插件來實現的,隨便舉個栗子,裝個語言插件,IDEA 搖身一變爲 nodejs IDE、php IDE、python IDE、scala IDE、go IDE,我本身就安裝了 30+ 很是好用的插件。
而在新版的 IDEA 中,JetBrain 更是對插件中心進行全面改版,以下圖
調出插件配置以後,頁面分爲三大部分
Marketplace
: 插件市場,你能夠搜索到你想要的插件Installed
: 當前安裝的全部的插件,你還能夠點擊左上角搜索小 icon,按類別查看當前已安裝的插件,其中的 custom
選項即是本身下載安裝的插件Updates
:當前安裝過的插件若是有更新,都會在這裏顯示出來我我的對於版本控制,是不太喜歡用圖形界面的,可是 IDEA 對於版本控制的設計真是太好用了,只能淪陷了,嘿嘿~
新版中,加入了對 GitHub Pull Requests 的支持,如今你能夠直接在電腦上建立或者查看某個項目的 Pull Request 了
你還能夠基於某個 Pull Requests 直接建立一個分支,或者直接在 Github 上查看當前的 Pull Request,這個功能對於開源工做者來講是一件很是幸福的事。
此外,新本 IDEA 對於 Git 子模塊的支持也更加友好了。若是你的 Git 項目中包含 Git 子模塊,在 clone 代碼的時候,也會一併 clone 到本地,另外,項目中任何文件有變動,提交 commit,IDEA 也會智能匹配到外層模塊或者子模塊,一併提交 commit,進而同時 push 到多個倉庫。
咱們有時候會不經意地格式化本身或者別人寫過的代碼,這就致使了每次提交代碼的時候,即便只更新了一兩處代碼,最後 diff 出來也會顯得很亂,然而其中大部分亂的地方是由於空格致使的。
在新版 IDEA 中,咱們在對比文件的時候,能夠選擇忽略空格
注意:這個選項默認是打開的
另外,在合併代碼的時候,你也能夠選擇忽略空格
這樣在解決衝突的時候,你也不會看到空格相關的改動,省下的不少寶貴的注意力。
IDEA 對於版本控制的支持實在是太強大了,更多版本控制神技在關注"閃電俠的博客"公衆號以後,回覆 idea 便可獲取。
IDEA 終於在這一版新增了一款默認主題,該主題爲一款高對比度主題,應該會有不少人會喜歡吧
預計在不久的未來,IDEA 會在主題這方面下功夫,畢竟筆者以爲 VS Code 的主題仍是蠻好看的,IDEA 能夠吸取過來。
在 IDEA 中,只要你在註釋中添加了 todo
關鍵詞,在邊條欄中的 todo
選項卡中就能夠看到當前全部待未完成的功能,以下圖
老版本中,是不支持 多行 todo
註釋的顯示的,而在新版本中,若是 todo
註釋有多行,你只須要在下面幾行前面再添加一個空格便可
IDEA 如今能夠在狀態欄中顯示當前文件的縮進是幾個空格,你能夠點擊這個狀態欄,控制當前文件的縮進風格。
好比,你的項目縮進風格是4個空格,而後某個新人寫了個 tab 風格的源文件提交了,你能夠直接點擊彈出菜單的 Configure Indents For Java...
,而後作一些修改便可
你如今可使用 Tab+數字,迅速切換到你想要的文件,這比鼠標點擊要快一些
在新版 IDEA 中,不只僅可以搜索字符串,並且可以搜索整個段落
IDEA 的 debug 功能不管是對於調試找錯仍是閱讀源碼,都發揮了很是重要的做用,新版 IDEA 對 debug 功能進一步增強,如今不只僅能 debug 當前的應用,並且可以 attach 到任意的 Java 進程,attach 以後,你就能夠看到該進程的線程狀態,而且使用強大的 Memory View 功能能夠看到當前內存的狀態。
IDEA 支持遠程 debug 幾乎和本地 debug 同樣,只須要遠程端口開啓便可。
IDEA 也支持異步線程的調試,斷點打在某一行,你不只能夠看到這行對應線程的調用棧,還能看到啓動對應線程的外部線程的調用棧。
新版中,對遠程調試也加入了異步棧的支持,採用如下兩個步驟便可
/lib/rt/debugger-agent.jar
到遠程機器-javaagent:debugger-agent.jar
到遠程機器如何使用 debug 功能來迅速找錯,如何經過 debug 閃電般地閱讀源碼,在關注"閃電俠的博客"公衆號以後,回覆 idea 便可獲取酷炫神技。
咱們在運行應用程序的時候,有的時候須要設定不一樣的啓動參數來查看不一樣的效果,在之前,這些參數都須要你手動敲進去,而且常常會忘記當前啓動參數的測試目的,很是麻煩。
如今,你能夠提早將參數經過宏的方式輸入,調試的時候,經過調整宏,你不用反覆修改啓動參數文本,經過宏文本還能夠一目瞭然看到當前的啓動參數的測試目的是什麼。
有的時候須要在控制檯輸入一些文本,而後再運行程序,這個對於調試來講很是不便,新版 IDEA 支持指定一個文本文件做爲控制檯輸入,這樣,你就能夠預先定義好控制檯輸入,重複利用,提升效率
最後一個重磅功能,應該能夠說是本次更新最大的亮點,IDEA 如今能夠分析 Java 程序的性能分析了,包括以下幾個方面
下面用一章動圖來展現一下,具體的細節讀者可自行探索
有了這個神器以後,你不須要額外的 profiler 工具,就能夠直接在 IDEA 裏面完成應用程序的性能分析。預計不久的未來,Eclipse MAT 相關的功能可能也會移植到 IDEA 中,屆時,Java 應用程序性能分析,堆分析,gc 分析將通通能夠在 IDEA 裏面運行,真正的 All In One 時代即將到來!
除此以外,本次更新還有大量的小功能的更新,在你使用新版 IDEA 的時候就會體驗到,這裏就不一一贅述了,趕忙下載體驗吧,下載地址:www.jetbrains.com/idea/nextve…
這篇文章更多的是解析本次更新,其實上個版本的更新也有不少重磅的功能,若是你不瞭解這些,能夠參考一下這篇文章:IntelliJ IDEA 2018.1正式發佈 ,但願可以幫助你
喜歡本文的朋友們,歡迎長按下圖關注訂閱號閃電俠的博客,回覆 「idea」 當即獲取 IntelliJ IDEA 酷炫神技