日食解析"Organize Imports"隐式的



我无法理解。我在 Eclipse 中遇到了一个常见问题,即尝试为整个项目组织导入时。清关的简短示例

package test.somepackage
class A{
    public B getB(){ return new B() }
}
package test.somepackage
class B{} 
package foobar
class B {}
package somewhere.in.code
class ClientUsingAAndB {
    public void someMethod(){
        A a = new A()
        //here Eclipse gets an "Organize Import Conflict"
        B b = a.getB();
    }
}

因此,如果我尝试自动"组织导入",Eclipse 会询问我是要导入test.somepackage.B还是foobar.B。对我来说,很清楚是哪一个,如果我告诉 Eclipse 使用foobar.B Eclipse 会立即抱怨不匹配的返回类型。问题是:如果 Eclipse 已经知道它得到哪种返回类型(来自 A 类签名),为什么它表现得很愚蠢?此外,如果我只是键入a.getB()悬停在它上面,并告诉 Eclipse "将语句赋值到新的局部变量"(strg+1),它会自动推断正确的类型并添加导入。

这是怎么回事?这是没人想修复的烦人的Eclipse错误,还是我太想从我的IDE那里得到太多?

编辑:如果有什么不太清楚的地方,请评论一下,我会尽量提供信息。

这是一个

长期存在的请求(可以追溯到2005年)。请参阅此停滞不前的 Eclipse 报告。也许你可以参与进来,帮助解决这个问题。我知道 JDT 团队欢迎为这些小的增强做出贡献。

最新更新