Cómo deshabilitar wildcard imports en IntelliJ IDEA
IntelliJ IDEA emplea wildcard imports (import java.util.*;
) siempre que el número de clases a importar de un mismo paquete supere el límite por defecto de 5. En lugar de añadir sentencias import independientes, IntelliJ utiliza un comodín e importa el paquete completo.
Por ejemplo, el siguiente fragmento:
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.ConfigBuilder;
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.Watch;
import io.fabric8.kubernetes.client.Watcher;
Se colapsa automáticamente en:
import io.fabric8.kubernetes.client.*;
La mayoría de guías de estilo de código más populares desaconsejan los wildcard imports. En general, este estilo de imports no se recomiendan porque puede haber conflictos en los nombres de las clases, además de causar problems con los sistemas de control de versiones (merge conflicts, dificultad a la hora de saber cuándo se añadió una dependencia, etc.).
¿Cómo deshabilitar wildcard imports en IDEA?
Para modificar la forma en la que IntelliJ gestiona los imports de forma automática, tienes que abrir el diálogo de Ajustes (Settings) (Ctrl+Alt+S
) y navegar a la pestaña Editor | Code Style | Java | Imports.
En este dialogo debes de marcar la opción Use single class import
. Además, tienes que modificar el límite por defecto para las opciones Class count to use import with '*'
y Names count to use static import with '*'
desde 5
a un número lo suficientemente grande cómo 999
.
¿Cómo reemplazar un wildcard import por varias sentencias import independientes?
También es posible reemplazar una sentencia específica de un wildcard import mediante el uso de una acción del IDE. Coloca el cursor en la sentencia específica y presiona Alt+Enter
. En el menú contextual debes de elegir la opción Replace with single class imports
.