詳解IntelliJ IDEA 2020 的Debug功能
IntelliJ IDEA 作為工作最常用的開發(fā)工具之一,自然就成了我的主要升級對象,早上在逛IntelliJ IDEA 官網(wǎng)時,驚奇的發(fā)現(xiàn)居然有新版本更新,這讓我有點喜出望外,沒說的果斷下載!
IntelliJ IDEA 2020.1 這個版本除了修復日常bug,對調(diào)試器和事件探查器(Profiler)進行了改進,并引入了新的提交工具窗口(Commit toolwindow)以及禪模式(Zen Mode)。
debug升級
IntelliJ IDEA 2020.1 向調(diào)試器添加了數(shù)據(jù)流分析協(xié)助功能(dataflow analysis assistance),此功能根據(jù)程序執(zhí)行的當前狀態(tài)預測并顯示可能的異常以及始終為真/假的條件。
我們說的在明白一點就是當我們調(diào)試 Java 代碼并到達斷點時,IDE 將基于程序的當前狀態(tài)運行數(shù)據(jù)流分析,并向我們顯示在代碼執(zhí)行到該斷點之前下一步將發(fā)生的情況:
舉個簡單的例子:
public void test(){ int a = 1 ; int b = 2 ; int c = a + b;}
之前 debug 代碼時只有當斷點走到 int c = a + b;時才會顯示 c=3 的結果。
升級后的 debug 功能可以在斷點走到 int b = 2 時就可以顯示出 c=3 的結果了,就不用我們一行一行的往下 debug 了。省去了很多無用功,節(jié)約了很多調(diào)試的時間。
折疊遞歸調(diào)用
當在堆棧中的更高層調(diào)用同一方法時,IntelliJ IDEA 現(xiàn)在可以檢測到遞歸調(diào)用。
現(xiàn)在,IDE 會建議開發(fā)者將這些調(diào)用從子樹中取出,從而可以繞過遞歸,并專注于消耗大部分資源的方法以及它們進行的調(diào)用。
遞歸調(diào)用在“調(diào)用樹”選項卡中用以下新的特殊圖標表示:
新commit工具窗口
在 2020.1 中為 Commit UI 提供了一個新的工具窗口。新的commit窗口包含了LocalChange和Shelf兩個選項卡,個人覺得是這次版本更新最實用的一個功能點,以往提交代碼時想看某文件的差異會單獨彈出一個窗口,相對繁瑣。而這次的新窗口將所有與提交有關的任務都放在了一起,例如:差異檢查、選擇要提交的文件及代碼塊、提交注釋信息,看起來如下:
禪模式(Zen Mode)
再也不怕敲代碼時,被一些無關緊要的消息被打擾了
此版本添加了新的禪模式(顧名思義就是很清靜了,佛系敲代碼做到心無旁騖666),以消除可能的干擾并幫助開發(fā)者完全專注于代碼上。
其實這種模式本質(zhì)上,就是結合了免打擾模式和全屏模式,因此不必每次想要進入或退出它們時都啟用或禁用這兩種模式。
那么要如何啟用禪模式?
第一種、 View > Appearance > Enter Zen Mode
第二種、Ctrl+` > View mode > Enter Zen Mode
LightEdit 模式
顧名思義,這就是一個輕量的編輯模式,專用于打開和編輯文件。LightEdit 模式允許我們在簡單的編輯器窗口中打開文件,而無需創(chuàng)建或加載項目。這也是對不少開發(fā)者希望將 IntelliJ IDEA 作為通用文本編輯器的要求的回應。
嘗試 LightEdit 模式最簡單的方式是通過命令行打開文件,如下所示:
總結
Java開發(fā)工具演變之路,從我最初接觸Java開始用的 myeclipse 到 eclipse,再到 Idea,技術一路革新開發(fā)效率也再不斷提升,如今Idea已然成為最流行的Java開發(fā)工具!
暫時就寫到這,后續(xù)有新版本功能在和大家分享,學無止境加油💪!
雙手奉上下載地址:https://www.jetbrains.com/idea/nextversion
到此這篇關于IntelliJ IDEA 2020 的Debug功能也太好用了,真香!的文章就介紹到這了,更多相關IDEA 2020 Debug功能內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. Python如何批量生成和調(diào)用變量2. windows服務器使用IIS時thinkphp搜索中文無效問題3. Python基于requests實現(xiàn)模擬上傳文件4. python利用opencv實現(xiàn)顏色檢測5. Python sorted排序方法如何實現(xiàn)6. Python 中如何使用 virtualenv 管理虛擬環(huán)境7. 通過CSS數(shù)學函數(shù)實現(xiàn)動畫特效8. ASP.NET MVC實現(xiàn)橫向展示購物車9. ASP.Net Core(C#)創(chuàng)建Web站點的實現(xiàn)10. Python獲取B站粉絲數(shù)的示例代碼
