我是否必须一直手动添加静态导入?

dda*_*son 19 eclipse junit

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

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

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

import static org.junit.Assert.fail;
Run Code Online (Sandbox Code Playgroud)

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

此外,导入不会出现在eclipse中.
在此输入图像描述

有趣的是,我以前看到它的工作原理,但我不记得变量.

所以对我的问题:

有没有人知道我需要做什么来确保始终识别这个静态导入并且可以使用Ctrl+ Shift+ 找到O


谢谢@qqilihq.

注意:

接受的答案不适用于我在eclipse中首选的Organize Imports键盘快捷键,但适用于"悬停"建议.

Sac*_*ade 24

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

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

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

  • 在Mac中不起作用。我已经尝试使用cmd + shift + M (2认同)

qqi*_*ihq 22

你看过Preferences> Java> Editor> Content Assist> Favorites吗?您可以在那里定义静态导入的候选者.结果:

在此输入图像描述

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

  • 我现在正在使用IntelliJ IDEA.更聪明的编辑.我不再需要做这些最爱了:) (3认同)