IntelliJ有类似于Eclipse中的组织导入功能吗? 我所拥有的是一个Java文件,其中有多个类缺少它们的导入。例子:

package com.test;
public class Foo {
    public Map map;
    public JTable table;
}

在Eclipse中,我可以使用组织导入,它会自动导入java.util.Map和javax.swing.JTable。在IntelliJ中,我必须单独进入每个类,选择它,然后按Alt-Enter。有一个优化导入功能,但它所做的一切似乎都是对现有的导入进行排序和扩展。

我使用的是IntelliJ 10.5。


当前回答

简单而简短的解决方案对我来说很有效。

点击文件->设置->编辑器->自动导入-> Java(左面板),做以下事情: 选中“动态添加明确的导入”和“动态优化导入”复选框

提到这一点。

其他回答

导航到你想要组织导入的文件,或者只是单击整个包,甚至单击项目,然后按CTRL + ALT + O

如果您只遗漏了一个导入(类名有红色下划线),单击并将鼠标悬停在它上面,将出现一个蓝色的建议导入语句。如果此时按Alt + Enter键,导入文件将被包含在文件中,红色下划线应该消失。

在IntelliJ 14中,“自动导入”的设置路径已更改。路径是

IntelliJ IDEA->Preferences->Editor->General->Auto Import

然后按照上面的说明,单击 动态添加明确的导入

我无法想象为什么这个不被默认设置。

ALT+ENTER是远离eclipse的习惯,在IDEA为我鼠标不工作,所以在设置> idset> Keymap>显示意图动作和快速修复我把它改为鼠标左键单击,它不支持鼠标移过来!但鼠标左键点击是OK的,最接近我的意图。

除了优化导入和自动导入,这是由@dave-newton和@ryan-stewart在之前的回答中指出的,转到:

IDEA <= 13: File menu > Settings > Code Style > Java >导入 IDEA >= 14:文件菜单>设置>编辑器>代码样式> Java >导入(感谢@mathias-bader的提示!)

在那里,您可以微调分组和顺序或导入,“类计数使用'*'导入”,等等。

注意: 由于IDEA 13,您可以从IDEA“开始页面”配置项目默认设置:配置>项目默认>设置> ....然后每个新项目都会有这些默认设置: