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。


在“设置->编辑器->通用->自动导入”下,有几个关于自动导入的选项。只有明确的导入可以自动添加;这是其中一个选项。

Ctrl + Alt + O(代码→优化导入…)是你正在寻找的,无论是在Windows/Linux和macOS键盘地图。

它说“优化”,但是,如果配置为这样做,它也会:

组织现有的导入 删除不需要的导入 添加新的所需导入 动态添加明确的导入

你可以在Dave描述的“设置→编辑器→常规→自动导入”下调整自动导入设置。

您也可以在“设置→编辑器→代码样式→Java→导入”下修改导入的自动排序方式。

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

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

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

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

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

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

只需将鼠标移动到缺失的视图上,并按下windows ALT + ENTER键

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

Mac的快捷方式:(ctrl + opt + o)

该插件将自动执行“组织导入”操作文件保存:https://github.com/dubreuia/intellij-plugin-save-actions。

要安装:“File > Settings > Plugins > Browse repositories…”>搜索“保存操作”>分类“代码工具”。然后激活“组织导入”保存操作。

2015年7月——我得出结论,IntelliJ不支持用单个函数自动解析导入。“组织导入”只是删除未使用的导入,它不解析未导入的类型。Control-Space解析单个未导入的类型。不存在解决所有类型导入的单个操作。

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

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

提到这一点。

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

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

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

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

我最终想出了一个解决这个令人沮丧的问题的方法。我对这个变通办法不是很满意,但总比什么都没有强。

基本上,在粘贴源代码并修复了明确的导入之后,只需按F2来突出显示下一个编译器错误。如果当前错误是缺少导入错误,按Alt+Enter,然后按Enter选择Import选项,然后选择正确的导入。然后再按F2键。

去帮助->找到动作(快捷方式为Cntl + Shift + A)和类型优化导入(快捷方式为Cntl + Alt + O)

MacOS上Android Studio的快捷方式:Control + Option + O