【问题标题】:Make eclipse remove unused imports but keep unresolved使eclipse删除未使用的导入但保持未解决
【发布时间】:2012-11-09 05:38:24
【问题描述】:

有没有办法让 Eclipse 继续使用但未解析的导入?

我正在使用 Eclipse 的保存操作来删除未使用的导入。不幸的是,它还会删除已使用但未解决的导入。

在下面的示例中,如果我在生成GeneratedClass 之前保存MyClass,eclipse 将删除GeneratedClass。当我延迟生成代码时,MyClass 将丢失导入。

import a.b.GeneratedClass;
public class MyClass extend GeneratedClass {}

【问题讨论】:

    标签: eclipse


    【解决方案1】:

    感谢 Bananeweizen 和 Krispy 的贡献,但到目前为止,这个问题的答案似乎是

    对我来说最有效的解决方法是每次保存带有未解析导入的文件时都按 ctrl+z。

    我已向 Eclipse 的 bugtracker 提交了一个错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=395538

    此 Eclipse 错误跟踪此问题:https://bugs.eclipse.org/bugs/show_bug.cgi?id=357795

    【讨论】:

      【解决方案2】:

      不要使用保存宏,而是按 Ctrl-Shift-O,这样您可以更明确地控制何时应该整理导入。

      【讨论】:

      • Ctrl+Shift+O 也会删除未解析的导入。我在Preferences->Java->Code Style->Organize Imports 中找不到设置来关闭它。所以我想念Ctrl+Shift+O 如何帮助我。你能解释一下我是如何获得显式控制的吗?
      【解决方案3】:

      您可以禁用清理操作,而是使用 Ctrl1 手动删除不需要的导入以调用快速修复。

      尽管如此,您只是试图隐藏真正的问题。真正的问题是您生成的代码不是在正确的时间生成的。你应该解决这个问题。如果您不知道如何在每个项目构建期间自动涉及 Eclipse 中的操作,请查看this example(它会在每次构建期间自动创建一个带有自定义脚本的 jar 文件)。您可以按照您想要的任何顺序将这些构建器应用到项目中,因此您始终可以在保存 Java 文件时在 Java 编译器之前自动调用代码生成。

      【讨论】:

      • 我正在使用可与多个 IDE 配合使用的企业构建基础架构,因此我无法真正更改构建内容的方式:(
      猜你喜欢
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      相关资源
      最近更新 更多