如何在Intellij IDEA提交代码时删除未使用的导入项?

198

在提交时是否有方法可以在Intellij IDEA中删除未使用的导入?

手动删除并不是非常优化,CTRL + ALT + O 能帮上忙但仍需手动进行。


29
"ctrl + alt + l" 会让我的电脑进入睡眠模式,哈哈,使用的是 Linux 操作系统。 - Wuaner
29
alt + control + o:在 Mac 上效果最佳。 - JavaDeveloper
@Wuaner,你可以通过 所有设置 => 键盘 => 快捷键 来禁用它。顺便说一下,在 Intellij 中 <kbd>ctrl</kbd> + <kbd>alt</kbd> + <kbd>l</kbd> 用于格式化代码。 - Kasun Siyambalapitiya
2
alt + control + o 在 Windows + IDEA 中的工作 - somshivam
Mac:Option + Control + O - Sebastian Juarez
12个回答

169
如果你正在使用 IntelliJ IDEA 或 Android Studio:
前往 设置 > 编辑器 > 通用 > 自动导入,勾选“实时优化导入”复选框。

19
我刚试了一下,在 IDEA 2017.2.4 上它并不能移除未使用的导入。 - qwertzguy
1
对我来说,这是在偏好设置中的 编辑器 > 通用 > 自动导入,并勾选 "实时优化导入"。这很有效。我正在使用 IntelliJ IDEA 2020.1.4。 - Matilda Smeds

118
当你提交代码时,勾选右侧的 优化导入 选项。这将成为默认选项,直到你改变它。
我也喜欢使用 重新格式化代码 选项。

6
您还可以在 "编辑器 > 自动导入" 部分设置 "即时优化导入" 选项。 - matt b
4
这很酷,但如果导入错误的类可能会让你发疯。 - Peter Lawrey
3
这就是“即时添加明确导入”的第二个选项的作用 :) 您可以禁用第一个选项,只启用明确导入设置。 - matt b
1
有时候你在一个模块中使用一个类没问题,但是在另一个依赖模块中却没有这个类,最终你会包含com.sun.*或者sun.*下的某些内容。 - Peter Lawrey
不确定我是否理解你的意思,但是这两个设置只会为类路径上的类添加导入。您也可以配置要从自动导入中排除的类或包。 - matt b
这是正确的,但当有多个选项时,这样做会更容易。当自动只有一个选择时,要找到如何排除一个软件包就更棘手了。 - Peter Lawrey

49

在 Mac 的 IntelliJ IDEA 中,命令是 Cmd + Option + O

对于某些旧版本来说,命令显然是 Ctrl + Option + O

(注意是字母O而不是数字0),适用于最新的 2019.x 版本。


8
Windows 平台下的快捷键为 ctrl+alt+o。 - mondayguy
7
2020年更新。我们使用 ctrl + option + o(macOS)。 - PathToLife

48

选择在项目视图中想要删除未使用的导入的项目/模块。 然后从代码菜单中选择优化导入运行确认。整个项目/模块的导入将被清理。


45

您可以在提交对话框中勾选复选框。

图片描述

自11.1及以上版本,您可以使用设置来自动优化导入。

图片描述


15

在 MacBook 上

使用 IntelliJ

按下 Control + Option + o(不是数字零,是字母“o”)


8

或者你可以使用以下快捷方式:

MAC:Shift + Command + A(进入操作菜单)

然后输入:Optimize Imports


8

如需删除Windows中未使用的导入,请使用以下默认键组合。

CTRL + ALT + O ---> 以删除Windows中未使用的导入。

但是,您也可以在设置中更改"Optimize Imports" 的键映射。


3

文件/设置/检查/导入,将 "未使用的导入" 改为 "错误"。这样可以在检查侧边栏和检查结果面板中更清楚地标记它们。


3
如果你想使用 CTRL + Alt + L(在格式化代码时删除未使用的导入),你可以使用 CTRL + Alt + Shift + L(一次),然后在弹出窗口中有一个复选框,你应该勾选它。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接