如果我运行重构提取方法,IntelliJ有时会注意到有相似的代码可以用这个新方法替换。在很多情况下,我的下一步是提取参数,现在这个方法可以使用的地方更多了。但是,当我提取参数时,IntelliJ不检查是否有新的代码重复。有没有办法做到这一点?
第一步
package mavensandbox;
public class Main {
public void foo() {
System.out.println("foo");
}
public void bar() {
System.out.println("bar"); //I will extract method for this line
}
}
第二步
package mavensandbox;
public class Main {
public void foo() {
System.out.println("foo");
}
public void bar() {
print();
}
private void print() {
System.out.println("bar"); //doh, I wanted "bar" to be a parameter, that's the next step
}
}
第三步
package mavensandbox;
public class Main {
public void foo() {
System.out.println("foo"); //ok, so how do I get intellij to realize it can now call print("foo"); instead?
}
public void bar() {
print("bar");
}
private void print(String s) {
System.out.println(s);
}
}
根据评论所述,我应该如何让Intellij意识到现在可以调用print("foo");
?