优化导入时如何避免重新排序

How to avoid reordering when optimize imports

有没有办法阻止 Intellij Idea 在运行优化导入时重新排列导入?我想避免这种情况,因为我在一个大型代码库上工作,而其他大多数程序员都在使用 Eclipse。当 Idea 进行优化(例如删除未使用的导入)时,它总是将这些导入放在底部:

import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.EJBContext;
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.interceptor.Interceptors;
import java.util.ArrayList;
import java.util.List;

并且当一些eclipse用户这样做的时候,它被放在了最前面。我想避免这种情况,因为它可能会惹恼其他程序员,因为我是唯一一个在项目中使用 Idea IDE 的人。

我用谷歌搜索了一下,找到了旧消息,例如: https://youtrack.jetbrains.com/issue/IDEABKL-6456

我想知道在较新的Idea版本中是否有什么好的方法可以做到这一点。

版本为:IntelliJ IDEA 2018.1 (Community)

"Optimize imports on the fly" 已经取消选中。

转到首选项(设置)-> 编辑器-> 代码样式-> java-> 导入选项卡

在底部您可以找到导入布局。这将确定您导入时的结构。您应该删除所有内容,只留下 import all other imports.

它应该是这样的:

注意:不要忘记取消选中 Layout static imports separately

注2:我使用的是2018.1.2 EAP(旗舰版)

对于即使在禁用“优化导入”后仍然面临此问题的人,您可能在项目级别保留了设置。

对我有用的解决方案 - 尝试删除“.idea”文件夹(其中包含所有当前项目相关设置)并从“文件”菜单执行“使缓存无效并重新启动”。

重新启动 IDE 后,您会发现问题已解决。