How can I change top level package name in IntelliJ IDEA?
I have a package structure: com.report.domain.model
I would like to change it to com.reporting.domain.model. When I select Refactor → Rename on package com.report.domain.model, I only see an option to rename 'model'. I have tried switching between Project view and Package, but to no avail. I know how to make this change in Eclipse via Navigator view, but how can I do the same in IntelliJ IDEA?
Solution 1:
In the Project
Window, click on the Gears icon in the title bar and deselect "Compact Empty Middle Packages". Then you can separately select the report
package and rename it.
See also: http://www.jetbrains.com/idea/webhelp/project-tool-window.html#d242351e401
N.B. As of IntelliJ IDEA 2016.3, there is a bug in the menu and when the option is selected, it has a different label "Hide Empty Middle Packages", see https://youtrack.jetbrains.com/issue/IDEA-168362.
Solution 2:
To change the full package name:
User jkovacs has already answered this, but I'm going to cover this in a bit more detail. For example, if you want to change com.example.app
to my.awesome.game
, then:
In your Project pane, click on the little gear icon ()
-
Uncheck / de-select the
Compact Empty Middle Packages
option: Your package directory will now be broken up in individual directories.
-
Individually select each directory you want to rename, and:
- Right-click it
- Select
Refactor
- Click on
Rename
- In the Pop-up dialog, click on
Rename Package
instead of Rename Directory - Enter the new name and hit Refactor
- Allow a minute to let Android Studio update all changes
-
Note: When renaming
com
in Android Studio, it might give a warning. In such case, select Rename All:
-
Now open your Gradle Build File (
build.gradle
- Usuallyapp
ormobile
). Update theapplicationId
to your new Package Name and Sync Gradle, if it hasn't already been updated automatically: Done! Anyway, Android Studio needs to make this process a little simpler.