你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!
發(fā)布時(shí)間:2023-11-05
瀏覽次數(shù):0
工欲善其事,必先利其器。 如果有一款I(lǐng)DE可以讓你更高效地專注于開發(fā)和源代碼閱讀,為什么不嘗試一下呢?
3月27日,期待已久的.1正式發(fā)布,再次讓人眼前一亮:什么,還能這樣玩嗎?
接下來,我們就來快速了解一下IDEA 2018.1最新版本給我們帶來了哪些驚喜。
1.自動(dòng)生成代碼更智能
IDEA自動(dòng)生成java代碼的能力令人驚嘆。 按下 alt+enter 或 alt+/ 可以節(jié)省大量鍵盤輸入。 本次更新支持更多智能API。 如上圖所示,如果您從列表過濾器中刪除指定的類型,則在后續(xù)的映射操作中將自動(dòng)為您添加一個(gè)類型。
2. while循環(huán)優(yōu)化
IDEA智能檢測代碼邏輯,自動(dòng)重寫原來丑陋的代碼。 而優(yōu)化也繼承了這個(gè)理念。 上圖顯示,將while if break邏輯直接修改為do while,代碼的美觀性和可理解性明顯提升。
3.優(yōu)化冗余資源關(guān)閉操作
使用過IDEA的同學(xué)可能經(jīng)常會(huì)在代碼中看到灰色代碼,它提醒你這段代碼是多余的、不可訪問的代碼,可以將其刪除,讓代碼更加干凈整潔。 上圖所示的是,當(dāng)你使用try方法自動(dòng)關(guān)閉資源后,就不需要再次手動(dòng)調(diào)用close了。 顯示為灰色,alt+enter一鍵自動(dòng)刪除。
4.字符串?dāng)?shù)組自動(dòng)排序
這個(gè)功能也很貼心,不得不佩服產(chǎn)品細(xì)節(jié)的打磨。 如果你的代碼中有一堆字符串常量,想要做一個(gè)簡單的字母排序,只需要在數(shù)組上按alter+enter,然后排序,IDEA就會(huì)自動(dòng)排序,幾秒之內(nèi)就完成了。
5. 復(fù)制構(gòu)造函數(shù)的完整性提示
復(fù)制構(gòu)造函數(shù)在實(shí)際項(xiàng)目開發(fā)過程中也比較常見。 同一類的對(duì)象用于生成另一個(gè)對(duì)象。 在這個(gè)過程中,如果缺少一個(gè)屬性,后續(xù)邏輯中就很容易出現(xiàn)NPE。 上圖顯示,當(dāng)你實(shí)現(xiàn)復(fù)制構(gòu)造函數(shù)而忘記了copy和這兩個(gè)屬性時(shí),IDEA會(huì)給你一個(gè)智能提示,讓你修改。
6.支持自定義模板
可以說是IDEA中最具特色的功能。 它與live相當(dāng),可以完成一些非常快速的操作。 關(guān)于這兩個(gè)強(qiáng)大的功能,可以參考我之前在文末錄制的視頻課程。 我在這里就不詳細(xì)介紹它們了。 在此之前,我一直覺得它不如live,因?yàn)樗恢С肿远x模板。 我一直想知道為什么不開發(fā)這個(gè)功能來提高它的地位。 沒想到2018.1終于實(shí)現(xiàn)了自定義模板。
上圖中,.do 是自定義的。 輸入表達(dá)式后,我們調(diào)用 .do。 IDEA自動(dòng)給你發(fā)送一個(gè)do while循環(huán),然后光標(biāo)自動(dòng)跳轉(zhuǎn)到你接下來需要編寫邏輯的地方。 ,很棒嗎?
7.自定義類生成文件名后綴和后綴
該功能是IDEA自動(dòng)生成類文件的增強(qiáng)。 下面舉兩個(gè)IDEA自動(dòng)生成class文件的簡單例子。
創(chuàng)建好接口后,直接在接口名稱上按alt+enter,上下移動(dòng)鍵,一路回車。 該接口的實(shí)現(xiàn)將自動(dòng)為您生成。 默認(rèn)后綴是Impl。
如果你想為當(dāng)前類寫一個(gè)UT,只需在當(dāng)前類下按cmd+shift+t,一路回車,移動(dòng)上下鍵和空格鍵即可自動(dòng)生成該類的UT。 默認(rèn)后綴是Test。
以前,這個(gè)默認(rèn)值無法在 IDEA 中修改。 新版本中不僅可以修改默認(rèn)后綴,甚至連默認(rèn)前綴也可以修改。 這樣有更高的自由度,可以讓自動(dòng)生成的類更適合你的編碼風(fēng)格。
8.調(diào)試異常模擬
可以說是因?yàn)镮DEA的調(diào)試功能而愛不釋手。 無論是排查 bug 還是閱讀源代碼,都有這么多令人驚嘆的功能,幾乎每次都能讓你立即定位到關(guān)鍵代碼。 在之前的版本中,IDEA已經(jīng)實(shí)現(xiàn)了表達(dá)式(段落)求值、動(dòng)態(tài)值修改、強(qiáng)制等強(qiáng)大的調(diào)試功能。 新版本增加了模擬功能。 調(diào)試時(shí),可以在任意地方模擬異常拋出,這對(duì)于驗(yàn)證代碼的異常完整性非常有用。
9. 斷點(diǎn)堆棧跟蹤
在閱讀netty源碼的過程中,我最喜歡的功能就是利用IDEA的調(diào)用棧來快速了解某段代碼執(zhí)行的上下文。 調(diào)用堆棧掛起后,只需要移動(dòng)上下方向鍵就可以快速熟悉這一段。 代碼的執(zhí)行路徑。
在新版本中,如上圖,的功能進(jìn)一步增強(qiáng),讓你的斷點(diǎn)調(diào)試能夠在控制臺(tái)留下痕跡。 每次通過斷點(diǎn)時(shí),該斷點(diǎn)的調(diào)用堆棧都會(huì)打印在控制臺(tái)上。 下次不用調(diào)試就可以知道斷點(diǎn)處代碼原來的調(diào)用鏈。
10.更強(qiáng)大的全局文本替換
IDEA對(duì)文本的處理可以說是相當(dāng)強(qiáng)大的。 無論搜索還是替換,都可以自定義范圍、文件名,甚至支持預(yù)覽效果。 新版本進(jìn)一步擴(kuò)展了全局文本替換功能。 上圖顯示,如果要替換所有文件,直接輸入兩個(gè)正則表達(dá)式即可快速完成,并在窗口底部實(shí)時(shí)預(yù)覽修改后的效果。
11、整合及進(jìn)一步優(yōu)化
IDEA與IDEA的集成可以說是無縫的。 IOC和AOP的特點(diǎn)在IDEA中得到了充分的可視化。 極其強(qiáng)大的關(guān)聯(lián)功能令人驚嘆。 具體可以看我在文末錄制的視頻。
新版本已經(jīng)達(dá)到了集成的頂峰。 上圖顯示,當(dāng)你的應(yīng)用程序啟動(dòng)后,在所有對(duì)外提供API的方法中,你都可以通過點(diǎn)擊鼠標(biāo)直接發(fā)起HTTP調(diào)用。 有兩種方式發(fā)起HTTP調(diào)用:
一種方式是直接發(fā)起呼叫,無需手動(dòng)輸入U(xiǎn)RL。 調(diào)用后,結(jié)果直接顯示在控制臺(tái)上。
另一種調(diào)用方法更強(qiáng)大。 IDEA 會(huì)自動(dòng)為您生成一個(gè) .http 文件。 在這個(gè)文件中,可以自定義http請求的參數(shù)和url,并且每次調(diào)用的結(jié)果都保存為文本文件,甚至可以比較調(diào)用結(jié)果。
12. git 部分提交和
IDEA對(duì)git的可視化支持以及各種快速便捷的操作在解決代碼沖突、追溯開源代碼歷史版本、代碼等方面發(fā)揮了強(qiáng)大的作用。 您根本不需要第二個(gè)可視化版本控制工具。 IDEA中版本控制管理的概念中有一個(gè)術(shù)語,它的意??思是你可以將每個(gè)變更扔到不同的變更集中。 提交代碼時(shí),可以選擇不同的變更集來提交,其余的變更集中,變更還在,但不會(huì)提交到倉庫。 這個(gè)應(yīng)用場景就是,比如說你遇到一個(gè)新的項(xiàng)目,想要快速了解這個(gè)項(xiàng)目,你可以隨意進(jìn)行修改,并將這些修改扔到一個(gè)自定義的項(xiàng)目中。 項(xiàng)目和實(shí)現(xiàn)需求都比較簡單,幾行代碼就可以完成)。 只需提交用于實(shí)施需求的變更集。 之前的實(shí)驗(yàn)代碼可以留在你的項(xiàng)目中,你可以做進(jìn)一步的實(shí)驗(yàn)。
本次版本更新進(jìn)一步增強(qiáng)了細(xì)粒度的版本控制。 上圖顯示,當(dāng)您提交代碼時(shí),在窗口右半部分的左欄中,每次更改都會(huì)有一個(gè)單選按鈕。 如果您在編碼時(shí),如果不想提交某個(gè)更改,只需取消選中之前的單選按鈕即可。 這樣的結(jié)果就是代碼還在本地項(xiàng)目中,但是不會(huì)提交到倉庫。
此外,您還可以將不想提交的代碼扔到自定義中。 代碼還在,但是不會(huì)提交,如上圖。
13. git歷史增強(qiáng)
在閱讀netty源碼的過程中,有時(shí)會(huì)發(fā)現(xiàn)注釋和代碼邏輯是錯(cuò)誤的。 于是,我使用了IDEA的git 功能,發(fā)現(xiàn)這個(gè)注釋很早以前就被應(yīng)用到了代碼中。 ,舊的代碼注釋沒有被刪除,這也說明了大家在閱讀開源項(xiàng)目的時(shí)候,不要盲目相信權(quán)威,多思考,相信自己的判斷。
git歷史記錄的這種增強(qiáng)意味著,如果你正在閱讀某個(gè)版本的代碼,想要了解該版本中某個(gè)文件的提交歷史,可以直接右鍵該文件intellij idea無法刪除文件,查看當(dāng)前版本。 查看該文件的提交歷史記錄,所有更改一目了然。
14. 彈出窗口
沒錯(cuò),新版IDEA終于支持彈出java doc了。 當(dāng)您將鼠標(biāo)懸停在某個(gè)方法、參數(shù)或類型上時(shí)intellij idea無法刪除文件,會(huì)自動(dòng)彈出相應(yīng)文檔的說明,并且美化文檔演示。 。
15. 支持
IDEA之所以如此優(yōu)秀,是因?yàn)樗冀K關(guān)注行業(yè)的最新動(dòng)態(tài),并快速地將流行技術(shù)融入到Java生態(tài)中。 記得剛開始流行的時(shí)候,IDEA就已經(jīng)開始整合它了,而且在各個(gè)版本中都在快速迭代。 目前,IDEA的支持已經(jīng)非常好。
上圖顯示了IDEA的支持。 只需幾個(gè)字母,即可生成資源文件模板。 然后,通過批量編輯,光標(biāo)自動(dòng)定位,一個(gè)完整的資源文件就寫好了。 IDEA 在 2018.1 版本中對(duì)支持進(jìn)行了很多增強(qiáng)。 有興趣的同學(xué)可以閱讀官網(wǎng)博客上的專題介紹。
結(jié)論
以上就是我對(duì)本次2018.1版本更新的解讀。 如果你非常渴望提高開發(fā)效率和代碼質(zhì)量,可以點(diǎn)擊閱讀原文,跳轉(zhuǎn)到我的IDEA系列課程(點(diǎn)擊章節(jié)標(biāo)簽后可以使用微信登錄觀看)。 免費(fèi)。 如果你讀完本課程之后再看這篇文章,可能會(huì)更容易理解。
最后,如果你想快速提高閱讀源碼的效率,快速解決你學(xué)習(xí)netty過程中遇到的任何問題,歡迎加入我的星球。 我會(huì)不時(shí)在這里分享各種閱讀源碼的技巧,每種技巧都會(huì)有立竿見影的效果。
如有侵權(quán)請聯(lián)系刪除!
Copyright ? 2023 江蘇優(yōu)軟數(shù)字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服務(wù)提供商
13262879759
微信二維碼