Eclipse在自动导入静态类方面存在一些问题。

17

我在使用eclipse时遇到了一些问题。

如果我在代码中使用anyMap()这样的东西,然后按CTRL + SHIFT + O键,导入列表中不会更新。
如果我将import static org.mockito.Matchers.*这样的内容写入导入部分,那么anyMap()就可以使用了。
但是,如果我按CTRL + SHIFT + O键时需要导入其他类,import static org.mockito.Matchers.*就会被替换为import static org.mockito.Matchers.anyMap

如果我想要使用anyList(),我就必须手动再次写入import static org.mockito.Matchers.*

我知道这个主题:Can Eclipse the Organize Import (ctrl+shift+o) command's handling of static imports be modified?,并且这个方案可以很好地解决问题,但是有没有可能让eclipse自动识别我要使用的静态类呢?

1个回答

42

是可以的。请看以下问题:Eclipse优化导入以包含静态导入

检查 "喜爱的偏好设置" 部分:
Window » Preferences » Java » Editor » Content Assist » Favorites

点击 '新类型' 并添加 org.mockito.Matchers,如下所示:

添加新类型

这样一来,你就会在那里找到对应的条目,如下所示:

出现条目

之后,如果你在代码中键入 anyM,然后按 Ctrl+Space,你将看到静态方法是内容辅助建议之一。如果你选择它,相应的导入将自动添加:

建议

如果你输入的内容没有匹配项但有静态内容,那么导入将自动添加。例如,如果你键入 anyMap,然后按Ctrl + Space,导入将直接被添加。


1
再问一个简短的问题:它对于自动完成功能完美运作,但按下“CTRL + o”仍然无法工作。 - Joergi
2
Ctrl + o 是在工作区中打开资源的快捷键。你是不是想要使用 Ctrl + Shift + o 来整理导入? - Ashutosh Jindal
抱歉,是的我指的是 CTRL + SHIFT + O - 它不会导入静态类,只能通过自动完成导入。 - Joergi
1
@Joerg,我找不到在执行“Organize Imports”(Ctrl + Shift + O)时包含静态导入的方法。但是,在添加静态导入时,快速代码插件非常有帮助:http://fast-code.sourceforge.net/documentation.htm(搜索“Create Import”)。 - Ashutosh Jindal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接