IntelliJ IDEA 一些不為人知的功能
今天聊的這些功能可能社區(qū)版沒有,就需要下載專業(yè)版,如何使用專業(yè)版,請看這里:
kdocs.cn/l/cdW01CjMHzjw
我相信現(xiàn)在Java開發(fā)者應該80%都在使用IDEA作為開發(fā)工具吧,今天我們將深入了解 IDEA的世界,展示一些可提高您的工作效率的提示和技巧。無論您是經(jīng)驗豐富的 IntelliJ 用戶還是剛剛?cè)腴T,應該都能得到收獲。
IDEA 由 JetBrains 開發(fā),以其強大的功能和智能代碼分析功能而聞名。然而,有許多鮮為人知的功能可以顯著增強您的編碼體驗并節(jié)省您的寶貴時間。在這篇文章中,我們將探索一系列精選的提示和技巧,從鍵盤快捷鍵和導航技術(shù)到代碼重構(gòu)和高級調(diào)試技術(shù)。
我希望你看完這篇文章后,讓您成為更高效、更熟練的開發(fā)人員。
調(diào)試模式
很多初級開發(fā)人員都不知道有調(diào)試模式,代碼寫完以后都不知道如何調(diào)試代碼,只能通過輸出打印日志,一遍一遍的調(diào)試代碼,這樣效率非常低下,IDEA 為我們提供的各種選項,以查找和解決代碼中的錯誤/bug。
以調(diào)試模式運行
條件斷點:大多數(shù)開發(fā)人員在調(diào)試時都熟悉斷點,但是如果您必須調(diào)試具有多次迭代的循環(huán)怎么辦?您是否會跳過每次迭代,直到到達真正想要調(diào)試的對象為止?好吧,IDEA為我們提供了條件斷點,其工作方式實際上與之前的斷點相同,但我們可以指示斷點將被激活的條件,這將使我們不必了解前一個循環(huán)的不同迭代,而只關(guān)注在我們想要結(jié)果上。
要使用它,只需在您想要的位置放置一個斷點,然后右鍵單擊它,您將獲得輸入以指示您希望激活斷點的條件。例如 :
Streams調(diào)試 : Streams 是 Java 8 給我們帶來的最好的功能之一,但用過的人都知道它們很難調(diào)試,如果我們嵌套諸如 filter、map 或 flatMap 之類的 Stream 操作則更是如此。這就是為什么 IDEA為我們提供了一個工具來調(diào)試流并查看每個 Stream 操作給我們的結(jié)果,直到得到最終結(jié)果。
要做到這一點,非常簡單,只需在流開始的地方放置一個斷點,我們將看到如何激活 IntelliJ 提供的調(diào)試選項之一:
如果我們點擊調(diào)試選項,我們將看到每個 Stream 操作的結(jié)果:
或者,如果您想獨立查看每個步驟,您可以選擇Split Mode左下角的選項:
在執(zhí)行時重新編譯文件:很多時候,我們會在調(diào)試模式下啟動應用程序,在調(diào)試時我們會注意到代碼中的錯誤/bug,我們都知道,一旦錯誤被糾正,要再次測試,我們必須重新啟動申請可能需要花費很多時間……還是不?IntelliJ 為我們提供了一個選項來重新編譯我們剛剛在運行時更正的文件,因此我們可以再次測試流程,而無需重新啟動應用程序。
只需右鍵單擊我們已更正的文件并選擇選項:Compile and Reload File。
快捷方式
IDEA有很多快捷鍵,在網(wǎng)上很多博客中能找到每個快捷鍵的功能,其實其中許多都很復雜或未使用。今天我將介紹一些我認為可以幫助開發(fā)人員提高生產(chǎn)力的快捷方式。
返回:您是否曾經(jīng)遇到過這樣的情況:您在一個文件中,進入一種方法,然后進入另一種方法,然后找不到初始文件,或者必須在資源管理器中再次查找它?嗯,有一個后退選項,可以讓您切換回之前打開的文件。這個功能,我個人在上面討論的上下文中經(jīng)常使用它,你進入特定流程的不同方法,最后你發(fā)現(xiàn)很難返回到起點,但是使用這個按鈕或快捷方式(你可以把它方式)你節(jié)省了所有時間。
通常,當您激活視圖選項卡中的工具欄時,會出現(xiàn)這些按鈕:
它們看起來像這樣:
其相應的快捷方式是:
- CTRL + ALT + 向左箭頭
- CTRL + ALT + 向右鍵
實時模板: IDEA 有一項名為“實時模板”的功能,可讓您使用鍵盤快捷鍵快速插入預定義的代碼片段。例如,您可以輸入“sout”并按 Tab 鍵將其自動展開為 System.out.println() 代碼塊。您可以在 IntelliJ IDEA 配置中自定義和創(chuàng)建自己的實時模板。
在本節(jié)中,您所在項目中每個人的想象力和表現(xiàn)都發(fā)揮著重要作用,因為每個人都會有某些經(jīng)常重復的代碼行,如果您想要與該代碼段關(guān)聯(lián)的快捷方式,可以節(jié)省時間。
要創(chuàng)建實時模板,只需轉(zhuǎn)到“設(shè)置”并在搜索引擎中輸入“實時模板”,“編輯器”部分中就會出現(xiàn)一個選項。
正如您所看到的,IntelliJ 已經(jīng)有幾個預定義的部分,具體取決于我們使用的編程語言,但我們也可以使用窗口右側(cè)顯示的“+”符號創(chuàng)建自己的部分。
在我的例子中,我選擇了 java 并單擊添加按鈕(“+”)向該組添加一個新的實時模板,然后將打開一個新窗口,詢問我們快捷方式的縮寫、描述(如果我們愿意)和與我們的新快捷方式對應的代碼部分:
在此示例中,我們創(chuàng)建了一個實時模板來在我們想要的類中聲明一個記錄器,并以這種方式通過簡單地輸入我們的代碼“l(fā)og”并按 Enter 鍵進行設(shè)置來導入它。正如你所看到的,我們已經(jīng)指出了我們稱之為快捷方式的縮寫(“l(fā)og”),一個簡短的描述,然后在“編輯變量”中,我們?yōu)楸磉_式中聲明的變量賦予了值$CLASS_NAME$:
總之,這篇文章介紹了 IDEA 的強大功能及其可提高生產(chǎn)力和簡化開發(fā)流程的各種功能。我們深入研究了實時模板的概念,它允許開發(fā)人員通過自動插入常用代碼片段來節(jié)省時間。通過創(chuàng)建自定義實時模板,開發(fā)人員可以個性化他們的編碼體驗并減少重復打字的需要。
此外,我們還討論了 IntelliJ IDEA 的調(diào)試功能,特別關(guān)注 Java 8 流的調(diào)試。在流中設(shè)置條件斷點的能力使開發(fā)人員能夠有效地查明和解決復雜流操作中的問題,從而節(jié)省寶貴的調(diào)試時間。
此外,我們探索了在 IntelliJ IDEA 中重新編譯單個文件的便捷選項。此功能無需重建整個項目,從而實現(xiàn)更快的開發(fā)迭代并減少周轉(zhuǎn)時間。
IntelliJ IDEA 的一系列功能(包括實時模板、高級調(diào)試工具和選擇性重新編譯)使開發(fā)人員能夠更高效地編寫代碼。通過利用這些功能,開發(fā)人員可以提高工作效率,減少重復性任務所花費的時間,并輕松識別和修復錯誤。
無論是通過實時模板的自動代碼插入、簡化的調(diào)試過程還是選擇性的重新編譯選項,IntelliJ IDEA 都為開發(fā)人員提供了必要的工具來優(yōu)化其工作流程并生成高質(zhì)量的代碼。