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