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