翻譯|使用教程|編輯:吳園園|2020-06-03 11:11:15.280|閱讀 306 次
概述:當您為結構化搜索構建模式時,您基本上是在編寫腳本。為了簡化腳本編寫過程,IntelliJ IDEA提供了一系列預定義的 搜索模板,您可以將它們用作搜索模式的原型。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
IntelliJ IDEA是Java語言開發的集成環境,IntelliJ在業界被公認為優秀的Java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創新的GUI設計等方面的功能可以說是超常的。IntelliJ IDEA 現已加入在線訂購,點擊此處了解價格詳情>>
搜索模板,過濾器和腳本約束
當您為結構化搜索構建模式時,您基本上是在編寫腳本。為了簡化腳本編寫過程,IntelliJ IDEA提供了一系列預定義的 搜索模板,您可以將它們用作搜索模式的原型。
每個搜索或替換模板均包含變量$variable_name$,您可以在這些變量中添加條件(過濾器)以縮小搜索結果的范圍。過濾器取決于搜索模板中的變量。
計數過濾器
所述計數過濾器指定了出現次數。
例如,在new java.lang.RuntimeException($x$)搜索模式中,對于$x$ 變量,請在計數過濾器字段中指定最小和最大數字。要設置無限的最大計數,請在過濾器字段中提供一個空值。
IntelliJ IDEA將添加[0,∞]到變量并搜索指定的數字范圍。
參考過濾器
通過引用過濾器,您可以引用變量中的其他一些搜索模板。
引用將始終包含預配置或保存的模式的名稱,您可以使用自動完成功能來填寫此字段。
例如,對于$MethodCalls$變量,在“ 引用 過濾器”字段中鍵入帶注釋的方法。
IntelliJ IDEA搜索帶有注釋的方法的方法調用。
類型過濾器
“ 類型”過濾器添加了對指定變量期望的值或表達式的類型。
例如,對于$expression$變量,int在類型 過濾器字段中 鍵入。
IntelliJ IDEA搜索對整數進行裝箱的位置。
文字過濾器
在文字過濾器檢查對正則表達式或純文本的變量。
例如,您可以搜索實現特定接口的類。在這種情況下,請在“ 文本”過濾器中添加接口的標準名稱。另外,選擇“ 在類型層次結構內”選項,這樣間接實現的類 Cloneable也將包括在搜索中。如果未選擇此選項,則僅Cloneable包含直接實現的類。
腳本約束
該腳本過濾器添加Groovy腳本約束的搜索模式。 當您搜索某些語言結構時,將使用腳本約束。
例如,具有指定數量的參數的構造函數,或具有指定的可見性修飾符的成員。
可以從腳本約束中訪問模式中使用的所有變量 。當向變量添加腳本約束時,IntelliJ IDEA將其與PSI樹進行匹配,實際上,此變量是PSI樹中的一個節點。
假設您有一個與方法,toString()方法相匹配的變量。那么這個變量實際上是一個PsiMethod節點。檢索variable.parent將產生一個 PsiClass 節點,依此類推。variable.text然后將為您提供方法的整個文本。如果只需要方法的名稱,則可以使用variable.name。
在另一種情況下,結構搜索和替換變量可以匹配某些表達式,例如,對變量a的引用 PsiReferenceExpression。表達式當然沒有名稱,但是檢索表達式的整個文本將為您提供它所引用的變量的名稱。
您可以檢查以下現有模板中使用的腳本約束的語法:
====================================================
想要了解或購買IntelliJ IDEA正版授權的朋友,歡迎
JetBrain技術交流群現已開通,QQ搜索群號“786598704”或者掃描下方二維碼即可加入
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: