如何更改IntelliJ IDEA中的顶级包名?

时间:2013-05-26 22:28:13

标签: java ide intellij-idea

我有一个包结构:com.report.domain.model

我想将其更改为com.reporting.domain.model。当我在包com.report.domain.model上选择 Refactor 重命名时,我只看到一个重命名'model'的选项。我尝试在 Project 视图和 Package 之间切换,但无济于事。我知道如何通过Navigator视图在Eclipse中进行此更改,但是如何在IntelliJ IDEA中执行相同操作?

2 个答案:

答案 0 :(得分:69)

Project窗口中,单击标题栏Gears icon中的Gears图标,然后取消选择“Compact Empty Middle Packages”。然后,您可以单独选择report包并重命名。

另请参阅:http://www.jetbrains.com/idea/webhelp/project-tool-window.html#d242351e401

N.B。从IntelliJ IDEA 2016.3开始,菜单中存在一个错误,当选择该选项时,它有一个不同的标签“隐藏空中间包”,请参阅https://youtrack.jetbrains.com/issue/IDEA-168362

答案 1 :(得分:38)

要更改完整的包名称:

User jkovacs has already answered this,但我将更详细地介绍这一点。例如,如果您想将com.example.app更改为my.awesome.game,那么:

  1. 项目窗格 中,点击小齿轮图标(Gears icon

  2. 取消选中/取消选择Compact Empty Middle Packages选项:

    Compact Empty Middle Packages

  3. 您的包目录现在将在各个目录中分解。

  4. 单独选择要重命名的每个目录,并且:

    • 右键单击
    • 选择Refactor
    • 点击Rename
    • 在弹出对话框中,单击Rename Package而不是重命名目录
    • 输入新名称,然后按重构
    • 等一下让Android Studio更新所有更改
    • 注意:在Android Studio中重命名com时,可能会发出警告。在这种情况下,请选择 重命名全部

      Enter image description here

  5. 现在打开 Gradle Build File build.gradle - 通常是appmobile)。将applicationId更新为新的套餐名称和同步套餐,如果它尚未自动更新:

    Refactor Directories

  6. 完成! 无论如何,Android Studio需要让这个过程更简单。