我正在尝试在Eclipse Java项目中重命名一个方法,但它似乎重命名每个具有相同名称的方法。 (也许我误解了这个功能的用途 - 也许只是使用sed?)
这是一个简化的例子:
public class C1 {
interface Listener {
void f();
}
public C2.Listener c2l = new C2.Listener() {
public void f() {
}
};
}
public class C2 {
interface Listener {
void f();
}
}
如果我在f
中选择C2
方法,并从“重构”菜单中选择“重命名”以将其重命名为g
,则C1.Listener.f
也会重命名,结果C1
更改为:
public class C1 {
interface Listener {
void g();
}
public C2.Listener c2l = new C2.Listener() {
public void g() {
}
};
}
我预计会改为:
public class C1 {
interface Listener {
void f();
}
public C2.Listener c2l = new C2.Listener() {
public void g() {
}
};
}
有没有办法让它只重命名C2.Listener.f
?
我在Eclipse Helios和Android开发工具22.3.0中尝试过。
答案 0 :(得分:4)
这似乎是Eclipse中的一个错误,似乎也发生在Kepler上。即便如此,您仍可按照以下步骤解决问题:
转到首选项> Java的。在标题“Refactor Java Code”下的该页面上,取消选中“在没有对话框的情况下在编辑器中重命名”选项
现在,当您重构它时,您可以选择预览更改,在此处可以取消选中该框以将更改应用于C1.Listener()