Cuando pegas código de fuera o haces refactor a mano, IntelliJ no siempre lo deja alineado. El caso clásico es un switch con cada case indentado más que el anterior, escalonándose hasta salirse de la pantalla. La buena noticia: hay un atajo que lo arregla en un segundo y dos ajustes que evitan que vuelva a pasar.

Atajo: Reformat Code

El que necesitas memorizar. Funciona en todos los lenguajes que IntelliJ entiende (Java, Kotlin, JS, TS, Python, XML, JSON, SQL, etc.):

SOAtajo
Windows / LinuxCtrl + Alt + L
macOS⌘ cmd + ⌥ option + L

Comportamiento:

  • Sin selección → reformatea el archivo completo.
  • Con selección → reformatea solo la zona seleccionada (perfecto para no destrozar el resto del archivo si no quieres).

Ajuste 1: cómo se indentan los case del switch

El default de IntelliJ desplaza los case dentro del switch — para muchos equipos eso es exactamente lo opuesto a la guía de estilo (Google Java Style, Oracle Java Code Conventions, etc. los pegan al borde del switch). Para fijarlo:

  1. File → Settings → Editor → Code Style → Java (cambia Java por el lenguaje que toque).
  2. Pestaña Wrapping and Braces.
  3. Sección 'switch' statement, opción Indent 'case' branches.
  4. Desmárcala si quieres los case alineados con el switch (estilo Google/Oracle); márcala si los quieres indentados dentro.
  5. Apply + OK.

Después, vuelve a tu archivo y pulsa Ctrl + Alt + L. El resultado:

// Indent 'case' branches DESMARCADO (estilo Oracle / Google)
switch (variable) {
case 1:
    // código del caso 1
    break;
case 2:
    // código del caso 2
    break;
}

// Indent 'case' branches MARCADO (default de IntelliJ)
switch (variable) {
    case 1:
        // código del caso 1
        break;
    case 2:
        // código del caso 2
        break;
}

Ajuste 2: tamaño de tabulación

En la misma pantalla, pestaña Tabs and Indents. Los tres valores que importan:

  • Tab size — cuántos espacios ocupa una tabulación al pintarse en pantalla.
  • Indent — cuántos espacios añade IntelliJ cuando indenta un bloque.
  • Continuation indent — la sangría extra para líneas continuadas (cuando una expresión se rompe en varias líneas).

El estándar de hoy en proyectos Java es 4 / 4 / 8; en JS/TS y CSS se ha estandarizado 2 / 2 / 4. Si el proyecto usa .editorconfig, IntelliJ lo respeta por encima de estos ajustes — no hace falta tocarlos a mano.

Bonus: reformatear al guardar

Para no acordarte nunca más del shortcut: Settings → Tools → Actions on Save. Activa Reformat code y Optimize imports. Cada vez que pulses Ctrl + S el archivo queda perfecto.

Tip: si trabajas con otros, pacta primero el estilo y commit el .editorconfig + el codeStyleConfig.xml de IntelliJ (en .idea/codeStyles/). De lo contrario cada uno reformateará a su gusto en cada commit y los diffs se vuelven ilegibles.