在我的一个 Android 项目中(但不一定与 Android 相关联),我有很多方法调用,它们实际上什么都不做,只会破坏代码并且可以自动删除。例子:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public void onDestroy() {
super.onDestroy();
}
我找不到任何可以帮助我自动删除这些表达式的检查,所以我尝试了结构搜索。到目前为止我的尝试:我复制了“注释方法”的模板并进行了 2 处小改动。
- $Annotation$ 更改为发生=1,文本=覆盖
- 添加了一个 $Statement$ 变量,其发生=1
模板代码:
class $Class$ {
@$Annotation$( )
$MethodType$ $MethodName$($ParameterType$ $ParameterName$) {
$Statement$;
}
}
到目前为止,一切都很好 - 它只在正文中找到具有单行的方法。但现在我想明确搜索调用超级方法的确切语句(有点像对 $MethodName$ 的反向引用),但它也返回超级值(当不是 void 时)。有任何想法吗?
我相信这将是一个非常有用的检查,也可以集成到主要的 IntelliJ 代码库中。:-)