java - 在 IntelliJ IDEA 中查找结构性 catch block

标签 java intellij-idea structural-search

我需要在Java代码中找到所有带有单字母catch参数的catch block ,例如:

catch (IOException e)

我尝试了以下模式,但它不起作用:

catch ($Type$ $name$)

$name$ text/regexp set to `.`

最佳答案

可能的解决方案1

尝试现有模板尝试。将变量 $ExceptionDcl$ 编辑为 text/regexp . 并启用此变量是搜索目标。使用此模式只能找到一次具有多个 catch block 的 Try 语句。

可能的解决方案2

要在具有多个 catch 的 try 语句中查找单个 catch block ,请使用:

$E$ $e$

$E$ Text/regexp: Throwable在类型层次结构中应用约束已启用
$e$ 文本/正则表达式:.,脚本文本:__context__.parent instanceof com.intellij.psi.PsiCatchSection

背景信息

不可能搜索孤独的 catch block 。为了搜索语言,结构搜索使用用于 IntelliJ IDEA 中所有其他智能的解析器。这意味着搜索 Java 时每个模式都必须是有效的 Java。因此,一个不幸的限制是,只有 catch block 不会被解析为可搜索的内容。这也是为什么在 SSR 模式中不可能用 $variable$ 替换关键字的原因。

关于java - 在 IntelliJ IDEA 中查找结构性 catch block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33988112/

相关文章:

java - 对于扩展 C 的类,将类型 A 的构造函数变量替换为类型 B

jsf - IntelliJ 检查以查找没有 'id' 属性的标签

尝试向 JTextPane 添加撤消时出现 java.lang.NullPointerException

java - 构建 java 项目 jar,然后使用 Maven 压缩文件和 jar

android - Android库项目中的菜单项ID?

java - com.intellij.ide.ClassUtilCore 对 sun.net.www.protocol.jar.JarFileFactory.fileCache 字段进行非法反射访问

java - 字节从文件中读取错误?

java - 在 Morphia 中向父类(super class)添加 PostLoad 注释

intellij-idea - 光标后退的intellij快捷方式?