【问题标题】:Eclipse optimize imports to include static members and methodsEclipse 优化导入以包含静态成员和方法
【发布时间】:2013-10-26 11:12:38
【问题描述】:

eclipse 和 Java 的长期用户。我在 Eclipse 中发现的一个问题是,似乎没有简单的方法可以导入静态成员和方法。

即来自org.junit.Assert的jUnit fail()方法

我每天创建几个类,然后手动添加

import static org.junit.Assert.fail;

导入语句。这很烦人。我绝对喜欢使用 Ctrl+Shift+O 来组织我的导入,但它仍然找不到 static 成员和方法。

此外,导入不会显示在 eclipse 中。

有趣的是,我以前见过它工作,但我不记得变量了。

所以我的问题:

有谁知道我需要做些什么来确保这个静态导入总是被识别并且可以使用 Ctrl+Shift+O找到>?


谢谢@qqilihq。

注意:

接受的答案不适用于我在 Eclipse 中首选的 Organize Imports 键盘快捷键,但适用于“悬停”建议。

【问题讨论】:

标签: eclipse junit


【解决方案1】:

您是否查看过 首选项 > Java > 编辑器 > 内容辅助 > 收藏夹?您可以在那里定义静态导入的候选者。结果:

对于较少使用的类,您可以降低Preferences > Java > Code Style > Organize Imports > Number of static imports needed for .* 的值,但请注意,对于包含通用命名方法(例如getInstance)的类,您可能会得到.*。这反过来可能会导致混淆和/或命名冲突。

【讨论】:

  • 这绝对有效!从 Eclipse 中对该特定功能的描述来看,它看起来像是专门为我的问题设计的。谢谢!
  • @sircapsalot 对于较少使用的类,您可以降低 Preferences > Java > Code Style > Organize Imports > Number of static imports needed for .* 的值,但请注意,您可能会得到 .* 的类,例如包含getInstance 方法。 qqilihq,我应该在答案中包含这个还是应该创建一个单独的?
  • 我现在实际上正在使用 IntelliJ IDEA。更聪明的编辑器。我不必再做这些最爱了:)
  • @sircapsalot 是的,更智能的编辑器,更智能的解析/编译。我猜你不能吃你的蛋糕。由于我需要一个特定的插件,我被 Eclipse “卡住”了......
  • 对于那些不能让它工作的人,请确保在配置中添加正确的行。在这个问题的上下文中,它是“org.junit.Assert.*”而不是“org.junit.Assert.fail”
【解决方案2】:

您可以添加从 Eclipse 中的 Preferences > Java > Editor > Content Assist > Favorites 页面静态导入的类。然后,Ctrl+Space 快捷键会在内容辅助菜单中列出您喜欢的类的所有静态成员。

【讨论】:

    【解决方案3】:

    你可以使用Ctrl + Shift + M,例如你想从Mockito类中导入验证方法

    Mockito.verify() // select verify and press Ctrl + Shift + M

    这将从 Mockito 类导入验证静态方法。

    【讨论】:

    • 那会做什么?在这里,什么都没有发生。
    • 它导入当前突出显示的静态方法。
    • 啊,我花了一些时间弄清楚时间,但也很酷。
    • 不能在 mac 中工作。我试过用 cmd + shift + M
    • 这也适用于静态字段导入。我希望我能给你一百万票。
    猜你喜欢
    • 2010-09-22
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2012-07-22
    • 2013-03-12
    相关资源
    最近更新 更多