W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
因為本節(jié)的內(nèi)容是介紹使用 IntelliJ IDEA 的一些專業(yè)技巧,是為了幫助已經(jīng)熟悉 IntelliJ IDEA 基本功能的用戶來了解并掌握有關(guān) IntelliJ IDEA 的更多信息,所以在學(xué)習(xí)本節(jié)內(nèi)容之前您需要對 IntelliJ IDEA 有了一定的了解。
如果您對IntelliJ IDEA相對較新,我們建議您先閱讀IntelliJ IDEA如何使用。
如果你想要更多的關(guān)于符號的信息,例如從哪里或它的類型是什么, 快速文檔可以很好的幫到您,您可以按下 Ctrl+Q 來調(diào)用它,然后你會看到一個包含這些細(xì)節(jié)的彈出窗口。如果您不需要完整信息,請改為使用 “Type Info” 操作:它僅顯示所選表達(dá)式的類型,但不占用大量的屏幕空間。
默認(rèn)情況下,IntelliJ IDEA 代碼完成區(qū)分大小寫僅影響您鍵入的第一個字母。這個策略可以在 “設(shè)置/首選項” 對話框中更改, Editor | General | Code Completion,所以你可以使 IDE 對所有的字母敏感,或者使它對所有的情況不敏感,這是基于什么更適合你的喜好。
熱點提示: 在這里您也可以關(guān)閉 Autopopup 代碼完成選項。如果您希望代碼完成彈出菜單僅在顯式調(diào)用時顯示,這樣的設(shè)置是有意義的。
談到默認(rèn)值,您可能想要在更好地學(xué)習(xí) IntelliJ IDEA 后對其進(jìn)行改變,我們不能錯過在 "設(shè)置/首選項" 對話框的 Editor | General 頁存在的 “在插入符號時突出顯示元素” 的用法。如果您知道 Ctrl+Shift+F7 快捷方式,并且不喜歡編輯器中的突出顯示用法,每次只需移動插入符號即可顯示并消失,則不需要此選項。
默認(rèn)情況下,當(dāng)您在編輯器中選擇任何內(nèi)容時,IntelliJ IDEA 對單詞的大小寫不敏感。如果您喜歡根據(jù) CamelCase 選擇單詞,例如,選擇其中的一部分,而不是選擇整個單詞,您可以在 "設(shè)置/首選項" 對話框中的 Editor | General | Smart Keys 中啟用該功能。
IntelliJ IDEA 通過 Ctrl+Space 提供 Basic completion,通過 Ctrl+Shift+Space 提供Smart completion,和通過 Ctrl+Shift+Enter 提供 Statement completion。所有這些功能都是基于對代碼結(jié)構(gòu)的實際理解。然而,有時候,您可能需要一個更為微不足道的靈活邏輯,可以提示當(dāng)前文件中甚至項目中使用的單詞,無論其上下文如何。此功能叫 Hippie completion 并且通過 Alt+Slash 調(diào)用。
使用 IntelliJ IDEA,您無需擔(dān)心重構(gòu)代碼時的后果,因為您可以隨時通過便捷的 Ctrl+Z 快捷方式調(diào)用 Undo 來撤消任何內(nèi)容。
IntelliJ IDEA不僅可以重構(gòu)可執(zhí)行代碼,還可以重寫字符串。選擇字符串的任何片段,調(diào)用提取變量/常量/字段/參數(shù)以將其作為常量提取,并在整個代碼中替換其用法。
當(dāng)您重構(gòu)時,通常會重新命名符號,或者在代碼中提取和移動語句。然而,還有更多的重構(gòu),而不僅僅是這樣。例如,類型遷移(可通過 Ctrl+Shift+F6 提供)允許您更改變量,字段,參數(shù)或方法的返回值(int → String,int → Long,等)的類型,更新相關(guān)的代碼,并解決可能發(fā)生的沖突。
如果 IntelliJ IDEA 可以自動進(jìn)行類型遷移,為什么不對語義做相同的操作?如果要反轉(zhuǎn)一個布爾符號的所有用法,只需使用反轉(zhuǎn)布爾重構(gòu)。
IntelliJ IDEA 可以讓您分析代碼中組件的緊密程度如何,您需要關(guān)注這一點,因為當(dāng)存在太多的依賴項時,可能會導(dǎo)致各種各樣的 問題。 依賴關(guān)系矩陣操作(可通過 “分析” 菜單提供)將幫助您可視化并探索模塊,軟件包和類之間的依賴關(guān)系。
盡管復(fù)雜的外觀,它是一個非常易于使用的工具。只需選擇一個類或包,看看它在哪里使用和使用它來做什么。
結(jié)構(gòu)搜索和替換(SSR)是相當(dāng)強(qiáng)大的 (在您學(xué)會正確使用它之后),并且可以用于靜態(tài)代碼分析和重構(gòu)自動化。簡而言之,它允許您在代碼中搜索特定的模式,并使用參數(shù)模板替換它們。為此,它配備了自己的語言來定義代碼模式,本文將對此進(jìn)行更詳細(xì)的描述。
要訪問此功能,請使用 "Edit | Find | Search/Replace Structurally....”。如果要創(chuàng)建模板或模式,請轉(zhuǎn)到 "設(shè)置/首選項" 對話框, 單擊 Editor | Inspections頁面,并在 General node 下啟用 Structural Search Inspection:
如果您使用了大量的 HTML 和 XML,并希望避免不必要的干擾,您可能需要在 Editor | General | Appearance 中禁用面包屑和標(biāo)簽樹突出顯示。
最左側(cè)的編輯器列 Gutter 通常顯示與您正在編輯的代碼相關(guān)的有用信息。如果您覺得有時只是太多,您可以在 “設(shè)置/首選項” 對話框中配置要查看的內(nèi)容 Editor | General | Gutter Icon。
還有一件事可能是煩人的,就是每次在插入符號處有意圖時,編輯器中出現(xiàn)的意圖燈泡。禁用它有點困難:您需要手動編輯您的 <IntelliJ IDEA preferences folder>/options/editor.xml,并添加以下行:
<option name="SHOW_INTENTION_BULB" value="false" />
使用 Search Everywhere, 您可以從字面上找到任意文本片段: 在代碼、庫、UI 的某些部分、設(shè)置 (通過將設(shè)置名稱與 #),甚至是操作名稱。如果你經(jīng)常使用這個功能,那就值得知道,你可以通過在彈出窗口中按 Enter 鍵來訪問 IntelliJ IDEA 的設(shè)置。例如,我們在這里訪問編輯器設(shè)置:
如果您開始搜索查詢#plugins,您可以打開和關(guān)閉它們:
其它標(biāo)簽包括 #appearance,#system,#inspections, #registry,#intentions,#templates和#vcs。
另一個有趣的事實是,Search Everywhere 支持縮寫。您可以使用 “設(shè)置/首選項” 對話框的 “Keymap” 頁面為任何操作分配一個短文本,然后通過輸入以下文本從 “Search Everywhere” 中調(diào)用此操作:
當(dāng)您需要關(guān)閉除當(dāng)前選項卡之外的所有編輯器選項卡時,點擊 “X” 圖標(biāo)并按住 Alt 鍵來關(guān)閉當(dāng)前標(biāo)簽:
如果您不想看到編輯器標(biāo)簽,請轉(zhuǎn)到 編輯器選項卡 頁面的編輯器設(shè)置/首選項并在展示位置的下拉菜單中選擇無。
一個不是很容易找到的功能,但也是有用的,它通過在 "Project Tool Window" 中選擇一個文件并單擊 "Shift + Enter" 在新窗口中打開。
路徑完成可以幫助您加快文件,文件夾等的選擇。在 "項目結(jié)構(gòu)" 對話框中添加新的 SDK 或指定應(yīng)用程序服務(wù)器主目錄時,這很有用。
當(dāng)您開始輸入路徑時,請按 Ctrl+Space 以調(diào)用建議列表:
將 Stop和Resume
按鈕添加到工具欄可能很方便導(dǎo)航欄的操作。你可以通過"設(shè)置/首選項" 對話框的 Appearance and Behavior | Menus 和 Toolbars 頁面做到這點。
如果您喜歡使用鼠標(biāo)而不是鍵盤快捷鍵,則不需要打開調(diào)試工具窗口來管理當(dāng)前的調(diào)試會話。
IntelliJ IDEA有一個內(nèi)置的 Diff 查看器,用于代碼、jar文件、修訂甚至于圖像。要調(diào)用它,請選擇任意一對文件,然后按 Ctrl+D。
如果您選擇了單個文件,IDE 將提示您選擇要比較的文件。要快速比較活動編輯器與剪貼板,請選擇 View | Compare with Clipboard。
說到剪貼板,IntelliJ IDEA 跟蹤你在那里的一切。每當(dāng)您要粘貼以前復(fù)制的項目之一時,請按 Ctrl+Shift+V。
多項選擇是一個相對較新的非常強(qiáng)大的編輯器功能,可以讓您快速選擇和編輯多個(相鄰或者不)代碼片段。
簡而言之,這里會發(fā)生什么。你要么開始按 Alt+J (然后 IntelliJ IDEA 在插入處選擇一個符號),或者你可以按照通常的方式選擇一些東西。
然后,按 Alt+JIntelliJ IDEA 將向前搜索當(dāng)前文件,直到找到匹配的文本,并將其添加到選擇中。您可以再次按下 Alt+J 以向前或 Shift+Alt+J 以返回,但請注意,當(dāng)搜索到達(dá)文件結(jié)尾時,它將從文件的開頭重新開始。
選擇完成后,您可以開始編輯所有片段,就像它們一樣。
提示:克隆插入符號的另一種方法是按 Ctrl (MacOS 中是 Alt)兩次,然后用箭頭或簡單的鼠標(biāo)向上或向下移動插入符號。
Emmet
如果你不知道, Emmet 是編寫 HTML,XML 和 CSS 代碼的好方法。IntelliJ IDEA 支持它開箱即用:只需編寫一個 Emmet 表達(dá)式,然后按 Tab 來展開它。
使用 Emmet 預(yù)覽操作(可在“查找操作”或“隨處搜索”中使用 - 因此請確保將其分配給方便的快捷方式),以查看生成的代碼的預(yù)覽。
正則表達(dá)式是強(qiáng)大且廣泛使用的,但有時它們寫得很正確太難了。IntelliJ IDEA 將幫助您檢查代碼中的任何正則表達(dá)式:只需將插入符放在其中,然后按 Alt+Enter 使用 檢查正則表達(dá)式意圖:
IntelliJ IDEA 幫助 Regex 的另一個地方就是 查找和替換功能。值得一提的是,它支持替換表達(dá)式中的捕獲組。
查找和替換也可以從搜索中排除評論和文字:要做到這一點,請使用 “齒輪” 圖標(biāo) 。
有時看到程序生成的實際字節(jié)碼是非常的 有見地。
在 IntelliJ IDEA 中,您可以隨時通過此操作 View | Show Bytecode 達(dá)到。
在 提交更改對話框 中 IntelliJ IDEA 提供執(zhí)行各種操作。其中之一是修改提交,當(dāng)您想要更改最后一個提交并加入您當(dāng)前的更改時,這是有用的。
Shelves 是類似于 Git Stash 的 IDE 功能,但適用于所有 VCS:當(dāng)您需要暫停當(dāng)前工作并從存儲庫中提取某些內(nèi)容以修復(fù)它時,幫助您,然后恢復(fù)正在進(jìn)行的任何工作。此功能無需提交本地更改的文件,因此不會再丟失更改或倉促合并提交。
請參閱頁面 Git-Stach 和 Stashing and Unstashing 部分了解更多詳情。
補(bǔ)丁程序允許您將一組更改保存到可通過電子郵件(或任何其他古老媒體)傳輸?shù)奈谋疚募?,然后?yīng)用于代碼。當(dāng)你的飛機(jī)墜毀在沙漠的島嶼上真的需要做某事時,這是非常有幫助的,或者你以某種方式讓自己處于沒有可靠的寬帶連接的情況下。
請參閱本節(jié) 使用補(bǔ)丁 更多的細(xì)節(jié)。
有時, 您可能需要在特定的代碼行中進(jìn)行評估, 而無需實際停止??梢允褂梅椒〝帱c來執(zhí)行此項。要創(chuàng)建一個, 只需單擊 gutter 按住 Shift。
這樣,您可以將任何表達(dá)式打印到輸出,而無需更改代碼。這在調(diào)試庫或遠(yuǎn)程應(yīng)用程序時尤其有用。
字段斷點或字段觀察點
除了上述動作斷點之外,您還可以使用 字段觀察點。當(dāng)與其關(guān)聯(lián)的字段被訪問時,該斷點將停止執(zhí)行。要創(chuàng)建現(xiàn)場觀察點,只需點擊 gutter 按住 Alt(macOS 中使用 Ctrl+Cmd)。
當(dāng)您調(diào)試應(yīng)用程序時,IntelliJ IDEA 允許您使用彩色標(biāo)簽標(biāo)記任意對象的特定實例,以便通過該標(biāo)簽輕松識別 標(biāo)記對象 動作(可在評估表達(dá), 變量或手表的意見。)
如果你有任何標(biāo)簽標(biāo)簽的實例,你也可以在條件表達(dá)式中使用它:
評估表達(dá),變量, 手表和 內(nèi)聯(lián)調(diào)試器 都使用標(biāo)準(zhǔn)方式來呈現(xiàn)變量值,主要是基于toString類的實現(xiàn)。不是每個人都知道您可以為任何類定義自己的自定義渲染器。為此,選擇 從上下文菜單中自定義數(shù)據(jù)視圖調(diào)試 工具窗口。
當(dāng)您使用的庫中的某些類不提供有意義的toString實現(xiàn)時,這是非常有用的,因此您可以在庫之外定義它。
如果您想在調(diào)試時“及時回來”,可以通過“丟幀”操作來執(zhí)行此操作。如果你錯誤地走得太遠(yuǎn),這是一個很大的幫助。這不會恢復(fù)您的應(yīng)用程序的全局狀態(tài),但至少會讓您回到一堆幀。
繞過的方式,如果你想跳到未來,強(qiáng)制從當(dāng)前方法返回,而不執(zhí)行任何更多的指令,請使用 強(qiáng)制返回動作(調(diào)用它,按鍵Ctrl+Shift+A并輸入動作名稱)。如果該方法返回一個值,則必須指定它。
有時,當(dāng)您快速更改代碼時,您希望立即看到它們將如何在工作的應(yīng)用程序中運(yùn)行。不幸的是,Java HotSwap VM有很多限制:您不能說,向類添加新的方法或字段,并執(zhí)行熱插拔; 在熱插拔中唯一可以改變的是方法體。
請參閱各節(jié) 重新加載類和HotSwap 的詳細(xì)信息。
幸運(yùn)的是,有一種方法可以用新的開放源代碼項目Dynamic Code Evolution VM來修改這種情況,這是一個Java HotSwap VM的修改,可以在運(yùn)行時重新加載類,不受支持。
在IntelliJ IDEA中使用它很容易與專用 插件。啟用插件后,IDE將為您提供為您的環(huán)境下載DCEVM JRE。那么你必須在替代JRE列表中選擇它。
如果您在應(yīng)用程序服務(wù)器(例如Tomcat,JBoss等)上運(yùn)行應(yīng)用程序,則可以使用Update應(yīng)用程序操作重新加載更改的類和資源 Ctrl+F10。
請參閱本節(jié) 更新應(yīng)用程序服務(wù)器上的應(yīng)用程序了解詳細(xì)信
IntelliJ IDEA有許多開發(fā)人員工具集成和開箱即用。如果您需要的工具不是集成的,但是您希望通過快捷方式使用它,請轉(zhuǎn)到 設(shè)置/首選項| 工具| 外部工具,并配置如何運(yùn)行此工具。然后你可以通過這個工具來運(yùn)行這個工具 工具| 外部工具主菜單。
請參閱本節(jié) 配置第三方工具。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: