在Eclipse中,我能够注册一组用于静态导入自动完成的类,例如Math。,断言。,EasyMock。*
启用此功能后,我可以命中ctrl-space assertEquals,pow,createMock等,作为有效的代码补全出现。
我正努力在IntelliJ中找到它,但可以肯定它必须存在。有人可以帮忙吗?
谢谢!
Answers:
Settings -> Code Style -> Java -> Imports (tab)
。
Settings -> Code Style -> Imports
窗格中间是“要使用带有'*'导入的软件包”表。您可以在此处添加标准类名的条目,然后在静态框内打勾。现在,此类中的所有静态方法都可用于自动完成。
(我不确定,静态导入如何与指定包一起工作,因为我从未尝试过,但是我不明白为什么不这样做。指定超级包并勾选“ with subpackages”选项可以变得更加有趣。)
Code Style -> Java
一个Imports
选项卡下看到它。我现在不记得这是v10中的样子,还是我的描述草率,或者它过去是否稍有不同。拥有IntelliJ早期版本的人可以随时编辑此答案。
.*
如果您在上课时按Alt + ENTER(替换所有内容,除非会导致名称冲突的地方,这很不错)。
org.junit.Assert
似乎无效:自动填充功能asse
将扩展为Assert.assertEquals
,而不是assertEquals
使用静态导入打开Assert.*
Alt + Enter
会成功的 首先,您必须具有整个表达式,以及Alt + Enter
要静态导入的方法的匹配项。
如果您使用的是IntelliJ 10,请尝试以下操作:
assEq<Ctrl-Alt-Space>
默认情况下,从结果弹出列表中接受建议将插入ClassName.methodName()引用(您可以使用Alt-Enter意图将其转换为静态导入)。
您也可以从完成列表中插入静态导入的方法,方法是在完成菜单中选择“右”,然后选择“静态导入”:
请注意,从类(Assert.assertSame)静态导入单个方法后,该类的其他静态方法(如Assert.assertEquals)将包含在“常规”代码完成(Ctrl-Space)中。
Ctrl+Shift+A
?
只需做一次引用,然后将插入号放在类名(即Math)上,按alt + enter并选择“为'java.lang.Math'添加按需静态导入。Intellij将添加
import static java.lang.Math.*;
到文件顶部。
*
?