IntelliJ 中是否有从不同的包(比已经导入的包)导入 class 的快捷方式?

Is there a shortcut in IntelliJ to import a class from a different package (than already imported)?

我启用了自动导入明确的关键字,还使用 ​​Enter 来解决歧义。

有时我会输入一个已经导入的关键字,并希望它是同名但来自不同包的导入。所以我正在寻找像 Enter(我已经尝试过)这样的快捷方式,上面写着:"Import class from another package..."

我意识到它必须是完全合格的(例如 com.foo.bar.class),这很好。这只会让我不必每次都 copy/paste 完全合格的 class。例如,当在 AutoValue POJO 具有逻辑相似名称的 DAO 对象之间编写映射器时,或者说 POJO 生成的 protobuf 消息 class 在线到 UI 服务实现中。

在 IntelliJ IDEA 中,我们可以直接从另一个包中导入 class,无需任何快捷方式。只需开始输入 class 名称并从出现的弹出窗口中选择必要的包。

@EgorKlepikov 帮助我看到我只需要在输入类型后不那么自动地输入 space,我会看到一个菜单。

我仍然没有看到在事后仅更改一个实例的包的快捷方式(即不重构该范围内的所有实例)但是由于上述原因,我看到我至少可以做到这一点:

  1. 突出显示类型。
  2. 移动到词尾。
  3. 返回space并重新输入最后一个字母。

现在您可以看到@Egor 正在谈论的菜单和 select 一个不同的类型,只是为了那个例子。