我需要在Java代码中找到带有单字母catch参数的所有catch
块,例如:
catch (IOException e)
我已经尝试了以下模式,但它不起作用:
catch ($Type$ $name$)
$name$ text/regexp set to `.`
答案 0 :(得分:1)
尝试使用现有模板尝试。将变量$ExceptionDcl$
修改为text / regexp .
并启用此变量是搜索的目标。使用此模式只能找到具有多个catch块的Try语句。
要在具有多个捕获的try语句中查找单个catch块,请使用:
$E$ $e$
$ E $ Text / regexp:Throwable
,在类型层次结构中应用约束启用
$ e $ Text / regexp:.
,脚本文字:__context__.parent instanceof com.intellij.psi.PsiCatchSection
找不到孤独的捕获块是不可能的。要搜索语言,结构搜索使用IntelliJ IDEA中用于所有其他智能的解析器。这意味着在搜索Java时,每个模式都必须是有效的Java。因此,一个不幸的限制是,只有一个catch块不被解析成可以搜索的东西。这也是为什么不能用SSR模式中的$ variable $替换关键字的原因。