intellij-ideaintellij-idea-2018eclipse-formatter

How to avoid reordering when optimize imports


Is there a way to prevents Intellij Idea to rearrange imports when it runs the optimize imports? I want to avoid this since I work on a large codebase where most of others programmers are using Eclipse. When Idea do the optimization (to remove unused imports, for example) it always put these imports to the bottom:

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;

And when some eclipse users do the same, it are placed to the top. I want to avoid this, since it may annoy others programmers, since I'm the only one that uses Idea IDE in project.

I've googled about it and found old messages, like: https://youtrack.jetbrains.com/issue/IDEABKL-6456

I would like to know if there is any good way to do this in the newer Idea versions.

The version is: IntelliJ IDEA 2018.1 (Community)

The "Optimize imports on the fly" is already unchecked.


Solution

  • Go to preferences (settings) -> editor -> code style -> java -> imports tab

    At the bottom you find the import layout. This will determine the structure if your imports. You should remove everything and just leave import all other imports.

    Here is how it should look: enter image description here

    Note: don't forget to uncheck Layout static imports separately

    Note 2: I'm using 2018.1.2 EAP (Ultimate)