IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为优秀的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IntelliJ IDEA 现已加入在线订购,点击此处了解价格详情>>
IntelliJ IDEA最新试用版
statement
$Statement$;
将出现次数增加到一定数量,您可以找到包含最多指定数量元素的语句序列。
方法调用
$Instance$.$MethodCall$($Parameter$)
该模板与方法调用表达式匹配。如果出现次数为零,则意味着可以省略方法调用。
@Deprecated$Instance$.$MethodCall$($Parameter$)
您可以使用此模板查找已弃用的方法,并将其用作创建其他带注释的方法模板的原型。专门用于搜索对不赞成使用的方法的方法调用,可以选择对不赞成使用的方法的现有模板方法调用。
if陈述
if ($Expr$) { $ThenStatements$;}else { $ElseStatements$;}
搜索注释和/或字符串文字
考虑一个想要查找包含“ foo”的注释或文字的人。搜索模板将类似于 $SomethingWeWantToFind$ 或“$SomethingWeWantToFind$”。如果要查找包含某些特定单词(例如,foo是一个单词)的注释/字符串,则应将其指定为文本约束。
添加尝试/捕获/最终代码
如果要用try/catch/finally结构替换语句,则可以建议使用以下一对搜索和替换模板。搜索模板为:
$Statements$;
具有指定的最大出现次数作为约束。
替换模板为:
try { $Statements$;}catch(Exception ex) {}
查找一个类的所有后代或实现某个接口的所有类
考虑以下搜索模板:
class $Clazz$ extends $AnotherClass$ {}
要么
class $Clazz$ implements $SomeInterface$ {}
作为变量$ AnotherClass $或$ SomeInterface $的文本约束,请指定基类或已实现接口的名称。
寻找所有这样的方法
要查找同一接口方法的不同实现,请使用以下搜索模板:
class $a$ {public void $show$();}
为$show$变量指定文本约束,并启用选项。 此变量是搜索的目标。
使用@Modifier查找包的本地方法和实例方法
IntelliJ IDEA建议为类的包本地和 实例 字段提供预定义的模板。这些模板使用 @Modifier 批注,当无法使用自然语言方式表达搜索目标时,该注释有助于描述搜索目标。
但是,如果需要搜索包本地方法或实例方法,则必须使用@Modifier注释自己创建相应的搜索模板。
要使用可见性修饰符包local 和instance来指定查找所有方法的条件 ,请使用以下搜索模板:
class$Class$ {@Modifier("packageLocal") @Modifier("Instance" ) $ReturnType$ $MethodName$($ParameterType$ $Parameter$);}}
在搜索中使用“包含在约束中”字段
现有示例使用以下模板:
在包含在约束字段中,将if(‘_a) { ‘_st*; }where _a和_st分别放置为变量和 *表示零次或多次出现,并选择 Complete Match变量的Invert condition 复选框,将搜索该语句中未包含的日志记录语句。 if
HTML和XML的示例
以下示例说明如何在HTML和XML代码中使用结构化搜索。
搜索XML和HTML标记,属性及其值
- 搜索标签的最简单模板是<$tag$/>。
通过在变量上设置约束$tag$,可以指定要查找的标签。例如,如果指定li,则将所有li标签。
考虑以下用于XML和HTML搜索的模板:<$tag$ $attribute$=$value$ />。例如,如果id将$attribute$变量的文本过滤器指定为变量,将d+正则表达式指定为变量的文本过滤器,则$value$可以在id属性中找到所有具有数值的标记。

删除所有id属性大于2的行
1、在“ 搜索模板”字段中,我们创建一个模板,以搜索属性中li 具有数值(d+)的所有标签id。我们将搜索扩展到具有此类值的整个字符串(搜索目标=完全匹配)。
2、我们使用以下Groovy脚本过滤这些行:d.getText().replaceAll (/”/, ”).toInteger() > 2。脚本读取d变量的内容,并将其作为字符串返回(例如”1″)。然后,脚本将替换所有引 ,并将字符串值转换为整数并将其与进行比较2。
3、在“ 替换模板”字段中,我们什么都没有删除整个字符串。搜索后,我们选择全部替换以执行替换。

将p标签中class属性的大写值转换为小写
1、在搜索模板字段中,我们创建一个模板,该模板搜索属性中p具有大写值([A-Z].* 和区分大小写)的所有标签class。我们仅将搜索范围缩小到这些class值(搜索目标= b)。
2、在“ 替换模板”字段中,我们创建一个新变量, $d$并为其分配一个Groovy脚本(b.getText().toLowerCase())。搜索后,我们选择全部替换 以执行替换。

====================================================
想要了解或购买IntelliJ IDEA正版授权的朋友,欢迎咨询官方客服
JetBrain技术交流群现已开通,QQ搜索群 “786598704”或者扫描下方二维码即可加入

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!