【问题标题】:How to avoid reordering when optimize imports优化导入时如何避免重新排序
【发布时间】:2018-09-26 06:49:18
【问题描述】:

有没有办法阻止 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 的人。

我在 google 上搜索了一下,发现了旧消息,例如: https://youtrack.jetbrains.com/issue/IDEABKL-6456

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

版本为:IntelliJ IDEA 2018.1(社区)

  • 编辑 - 一些信息:

“动态优化导入”已取消选中。

【问题讨论】:

  • 我已经在使用 eclipse 格式化程序,但无法配置它以避免混淆导入。
  • 这是一个非常重要的信息!报告错误,插件应该可以很好地处理它 - 如果你配置正确。
  • 在 Eclipse Code Formatter 配置中检查“手动配置”后,它现在可以工作了。

标签: intellij-idea intellij-idea-2018 eclipse-formatter


【解决方案1】:

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

在底部您可以找到导入布局。如果您的导入,这将确定结构。您应该删除所有内容,然后离开 import all other imports

它应该是这样的:

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

注意 2:我使用的是 2018.1.2 EAP (Ultimate)

【讨论】:

  • 不幸的是,这对我不起作用。我想是因为我使用eclipse formatter来格式化代码。
  • 啊太糟糕了。也许您真的不需要 eclipse 格式化程序?您是否尝试将 eclipse xml 配置文件导入到您的样式设置中? (最好将其保存为单独的配置文件)。我对插件不熟悉,所以在这里盲拍。如果您需要帮助,请告诉我。
  • 我需要它,因为即使我导入 xml 设置,Intellij 的格式也不完全像 eclipse。
  • 这个答案似乎完全错误。这些设置用于事物的分组方式。 “优化导入”仍然坚持在任何组中按字母顺序重新排序,只是有了这些设置,我现在有了一个大组。在没有 Eclipse 格式化程序的 2020.2 上。可笑的是没有一种简单的方法来删除未使用的同时保持秩序。
【解决方案2】:

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

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

重新启动 IDE 后,您将看到问题已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-17
    • 2021-03-11
    • 2019-04-18
    • 1970-01-01
    • 2018-01-20
    • 2019-08-20
    • 2013-10-02
    • 1970-01-01
    相关资源
    最近更新 更多