翻譯|使用教程|編輯:吳園園|2020-06-01 09:43:54.073|閱讀 412 次
概述:常規(guī)的搜索過程沒有考慮源代碼的語法和語義。即使您使用正則表達式,IntelliJ IDEA仍會將您的代碼視為正則文本。該結(jié)構(gòu)的搜索和替換(SSR)操作,您可以搜索你的代碼考慮您的代碼結(jié)構(gòu)中的特定代碼模式或語法結(jié)構(gòu)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
IntelliJ IDEA是Java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認為優(yōu)秀的Java開發(fā)工具之一,尤其在智能代碼助手、代碼自動提示、重構(gòu)、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創(chuàng)新的GUI設(shè)計等方面的功能可以說是超常的。IntelliJ IDEA 現(xiàn)已加入在線訂購,點擊此處了解價格詳情>>
結(jié)構(gòu)搜索和替換
常規(guī)的搜索過程沒有考慮源代碼的語法和語義。即使您使用正則表達式,IntelliJ IDEA仍會將您的代碼視為正則文本。該結(jié)構(gòu)的搜索和替換(SSR)操作,您可以搜索你的代碼考慮您的代碼結(jié)構(gòu)中的特定代碼模式或語法結(jié)構(gòu)。
IntelliJ IDEA根據(jù)您創(chuàng)建的搜索模板和 您應(yīng)用的條件來查找并替換源代碼的片段 。
從結(jié)構(gòu)上搜索目標
1、從主菜單中,選擇編輯| 查找| 搜索結(jié)構(gòu)上開 結(jié)構(gòu)搜索對話框。
在“ 結(jié)構(gòu)搜索”對話框中,可以快速切換到“ 結(jié)構(gòu)替換”對話框。單擊 并選擇 切換到替換。
2、在“ 結(jié)構(gòu)搜索”對話框中,執(zhí)行下列操作之一:
在編輯器區(qū)域中,輸入代碼模式($variable$代表您的代碼),單擊,然后選擇 保存模板以將其保存以備將來使用。
IntelliJ IDEA將創(chuàng)建的模板添加到“ 現(xiàn)有模板”對話框中的現(xiàn)有模板列表(“ 用戶定義”節(jié)點)中 。
單擊“開始” ,選擇“ 現(xiàn)有模板”以打開預(yù)定義模板的列表,然后選擇適當?shù)哪0濉?
例如,您的代碼中包含以下字段:
public class MainActivity { public static final String this_is_wrong = "Hello"; public static final String THIS_IS_CORRECT = "world"; }
讓我們在類中找到一個特定的字段。
在現(xiàn)有模板列表中,單擊Java并打開基于類的 節(jié)點(因為我們需要類中的字段),所以類 模板的字段將成為我們的目標。
單擊“ 確定”返回到“ 結(jié)構(gòu)搜索”對話框,以使用所選模板。
IntelliJ IDEA立即在編輯器中突出顯示找到的代碼。
3、“ 結(jié)構(gòu)搜索”對話框顯示所選模板以及該模板中使用的過濾器的值。您可以編輯現(xiàn)有過濾器或添加新條件,例如,添加一些正則表達式或 腳本約束。將插入號放在代碼變量處,然后使用過濾器區(qū)域管理過濾器。
4、在過濾器區(qū)域中,單擊以添加新條件。例如,如果需要添加正則表達式,請選擇Text。您還可以 根據(jù)變量添加其他條件。
5、在打開的字段中,輸入條件。
例如,讓我們鍵入以下正則表達式:
在這種情況下,當您在“ 結(jié)構(gòu)搜索”對話框中選擇“ 區(qū)分大小寫”復(fù)選框時 ,IntelliJ IDEA將僅搜索具有大寫字符的字段。
另請注意,默認情況下,“ 遞歸”復(fù)選框處于選中狀態(tài)。這意味著IntelliJ IDEA將執(zhí)行遞歸搜索,并且所有嵌套項都將包含在結(jié)果中。例如,當您搜索方法調(diào)用時,如果啟用了“ 遞歸”選項,則IntelliJ IDEA將在中找到嵌套的方法調(diào)用foo(foo(foo()))。隨著 遞歸選項被禁用,只有外部方法調(diào)用會被發(fā)現(xiàn)。
6、指定以下選項以進一步縮小搜索范圍:
文件類型 -使用列表進行選擇,哪些文件類型應(yīng)成為搜索的一部分。在我們的例子中是Java。
范圍 -指定搜索位置:在項目,模塊,目錄或自定義范圍內(nèi)。
搜索目標 -您可以選擇完全匹配以匹配確切的模板或其他可用的代碼元素(在我們的示例中為 Field )。
7、點擊查找。
IntelliJ IDEA在“ 查找工具”窗口中顯示結(jié)果。
您可以將新創(chuàng)建的搜索模板作為自定義模板添加到 結(jié)構(gòu)搜索檢查中,并在以后使用它檢查代碼。
在某些情況下,您可以使用檢查代替結(jié)構(gòu)搜索和替換。例如,通過結(jié)構(gòu)搜索用接口替換類不會修改用法,您將需要執(zhí)行搜索并替換多次。在這種情況下,您可以使用抽象類進行接口 檢查,這還將修改抽象類的用法。
從結(jié)構(gòu)上替換目標
1、從主菜單中,選擇編輯| 查找| 結(jié)構(gòu)上更換。
2、在“ 替換結(jié)構(gòu)”對話框中,將新模板或現(xiàn)有模板添加到搜索和替換模板區(qū)域。您可以使用與搜索模板相同的方式保存替換模板。
3、如果您需要為替換模板中的變量添加過濾器,請在所需的變量處插入插入符號,然后使用過濾器區(qū)域來管理過濾器。
4、在過濾器區(qū)域中,根據(jù)您選擇的 過濾器,指定條件。
例如,讓我們獲取一個$Field$要搜索的變量, 并添加條件以用小寫字符替換找到的模式。
讓我們調(diào)用變量$Field2$ 并添加以下過濾器腳本,該腳本基本上是Groovy腳本:Field.name.toLowerCase()。
5、要縮小替換結(jié)果的范圍,請選擇以下選項:
指定必要的選項后,點擊查找。IntelliJ IDEA在“ 查找工具”窗口中顯示結(jié)果。
6、在“ 查找”工具窗口中,您可以進一步處理結(jié)果,一次一地替換找到的項,一次全部替換,或者預(yù)覽可能的更改。
您還可以將替換模板添加到 結(jié)構(gòu)搜索檢查中, 并將其用作代碼的快速修復(fù)。
作為我們替換的結(jié)果,大寫字符已切換為小寫。
共享搜索模板
您可以通過導出或?qū)肱c他人共享搜索模板。
1、在“ 結(jié)構(gòu)搜索”對話框中(“ 編輯” |“查找” |“結(jié)構(gòu)搜索”), 創(chuàng)建一個新的搜索模板或使用現(xiàn)有的模板。
2、要導出模板,請單擊,然后選擇 將模板導出到剪貼板。IntelliJ IDEA將模板的XML表示形式添加到剪貼板(按Ctrl+Shift+V查看剪貼板的內(nèi)容)。您可以在聊天,電子郵件或論壇中與其他開發(fā)人員共享此表示。
要導入模板,請Ctrl+C從任何地方(電子郵件,聊天或論壇)復(fù)制()共享XML代碼,然后在“ 結(jié)構(gòu)搜索”對話框中,單擊,然后選擇 從剪貼板導入模板。IntelliJ IDEA將XML代碼表示形式轉(zhuǎn)換為包含變量和范圍(如果存在)的模板。
====================================================
想要了解或購買IntelliJ IDEA正版授權(quán)的朋友,歡迎
JetBrain技術(shù)交流群現(xiàn)已開通,QQ搜索群號“786598704”或者掃描下方二維碼即可加入
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: