2011-02-24 187 views
25

在Eclipse中,可以配置某些“最喜欢的”类,当调用代码完成时查看是否可以为方法添加静态导入(这在首选项> Java>编辑器>内容辅助>收藏)。在IntelliJ中添加最喜欢的方法静态导入?

例如,我可以开始键入assertT,Eclipse会询问是否要添加org.junit.Assert.assertTrue;的静态导入。

IntelliJ editor

是否有可能做同样的事情在的IntelliJ?

The method detailed in this question会为类型(static import org.junit.Assert.*)添加一个*导入,但我不想添加星号导入。我宁愿导入我正在使用的方法。

+0

图片不再可用。 – Asaf 2014-12-08 09:51:25

回答

19

我想你可以: -

文件 - >设置 - >代码样式 - >的Java - >进口。然后,将您的导入语句添加到包中以使用带'*'表的导入。

enter image description here

+1

@matt:即使您在配置对话框中指定了“import static org.junit.Assert。*',它也不会显示为”明星导入“。它将对您使用的方法执行静态导入。我只是试过了,它适用于我(intellij 10.0.2)。 – limc 2011-02-24 16:25:35

+0

我很好奇 - 你是在键入方法名称并看到IntelliJ完成它为“assertTrue”(例如)中间按ctrl +空格吗?或者你是在输入完整的语句,然后按Alt + Enter?我认为IntelliJ可能足够聪明,可以接受方法调用(不含导入语句),并在按Alt + Enter时提示静态导入 - 我刚发现这会让我的初始问题模拟 – 2011-02-24 16:28:34

+2

我必须输入整个断言声明,然后按ALT + ENTER以选择“静态导入”。对于像Eclipse这样的部分方法名称,它不适用于CTRL + SPACE,这很糟糕。 – limc 2011-02-24 16:32:02

25

严格说来,这不回答你原来的问题。

但是,IDEA 10支持静态方法的Ctrl-Alt-Space完成。 例如,在不导入任何内容的JUnit 4测试中,输入“assEq”并调用Ctrl-Alt-空格。结果对话框也将允许您静态导入此方法。

一旦您导入了一个方法(如assertEquals),来自同一类的其他静态方法将包含在常规代码完成建议中(尽管您仍然可以使用Ctrl-Alt-Space快捷方式) 。

我发现这个功能,结合“自动导入黑名单”,工作得很好。

enter image description here

+2

由于某种原因,我发现ctrl + alt +空间不适用于IU10中的这个(对我来说),尽管一旦我有完整的表达式输入,alt + enter就可以正常工作。 – 2011-02-25 15:59:18

+0

从来没有intellij版本的自动导入菜单中有一个灯泡图标,可以访问此子菜单。 – aepurniet 2016-07-26 14:10:56

相关问题