在IntellJ Idea项目中是否有一种方法可以用当前的类名+ .class替换所有对getClass()的调用?
例如,替换:
class ClassName{
public method(){
Logger.logDebug(getClass(), "Some information")
}
}
带
class ClassName{
public method(){
Logger.logDebug(ClassName.class, "Some information")
}
}
答案 0 :(得分:4)
试试这个结构搜索模板:
$This$.getClass()
编辑变量 - >这个 - >文本/正则表达式:此,最小计数:0,最大计数:1
替换模板
$Clazz$.class
编辑变量 - > Clazz - >脚本文本:
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.PsiClass;
PsiTreeUtil.getParentOfType(__context__, PsiClass.class).getQualifiedName();
<强> UPD:强> JetBrains支持: 目前,新的结构搜索&amp;替换(SSR)对话框。可以通过返回旧的UI来实现这一点,这里的方法如下:
现在,当您调用SSR时,您将返回旧对话框并再次使用替换变量。计划在2019.2版中恢复新SSR对话框的替换变量,但不能保证。