Formateador de código Elixir
Guía
Formateador de código Elixir
Pega tu código fuente de Elixir y obtén salida limpia, mix formaten formato inmediato en tu navegador. Estándariza la indentación, normaliza el espacio alrededor de operadores, ordena alias / import / require / use bloques y detecta problemas de sintaxis en la superficie antes de que lleguen iex.
Cómo Usar
- Pega código Elixir en la caja de entrada, arrastra y suelta un
.ex/.exsarchivo al subidor, o haz clic Prueba un ejemplo. - Opcionalmente ajusta el longitud máxima de línea (predeterminado 98, coincidente con
mix format) para que las líneas demasiado largas sean marcadas. - Palanca Ordenar alias / import / require / use si deseas que los bloques consecutivos estén alfabéticamente ordenados.
- La salida formateada aparece en tiempo real. Pégala o descárgala como
formatted.ex.
Características
- indentación estilo mix format – 2 espacios de indentación, sigue
do/fn↔endyelse/rescue/catch/afterre-dentando. - Espacio de operadores – estandariza
=,==,|>,->,<-,::,++,<>, y amigos. - Prefijos de mapa y estructura – acorta
%{...}y%MyStruct{...}sin romper el cálculo módulo. - Corchetes de bitstring – conserva
<<...>>sin añadir espacios extra. - Ordenar alias / import / require / use – ordena bloques consecutivos (el identador y el prefijo deben coincidir).
- Requiere instalación – detecta paréntesis, corchetes, llaves, bitstrings,
do/endmismatches y heredocs no terminadas. - Advertencia de longitud de línea – marca líneas que excedan el valor configurado máximo (40–200).
- Heredocs, sigils, charlists – conserva los interiores de cadenas y
~r/.../,~s(...),~S"""..."""exactamente. - Subida por arrastrar y soltar – formatea cualquier
.ex/.exsarchivo directamente. - 100% del lado del cliente – nada se sube; funciona en modo offline una vez que se cargue la página.
Preguntas frecuentes
-
¿Qué es
mix formaty por qué necesita Elixir uno?mix formates el formateador oficial de código de Elixir, introducido en Elixir 1.6. Analiza el código fuente en un AST y lo vuelve a imprimir usando un único estilo determinista. Dado que todos los proyectos de Elixir comparten las mismas convenciones, los equipos dejan de discutir sobre espacios en blanco, los revisiones de código se centran en la lógica en lugar de en el diseño, y las diferencias se mantienen limpias entre editores y sistemas operativos. -
¿Qué hace realmente el operador de tubo
|>?El operador de tubo pasa el valor a su izquierda como el primer argumento a la función a su derecha. Así,
data |> transform() |> save()es equivalente asave(transform(data)). Los tubos leen de arriba abajo en el orden en que ocurren las operaciones, por lo que el Elixir idiomático coloca cada|>en una línea separada, indentado dos espacios desde el valor que se está tubando. -
¿Por qué las variables de Elixir parecen inmutables aunque se reasignen?
Las variables de Elixir son reasignaciones, no mutaciones.
x = 1seguida dex = 2crea una nueva asignación del nombrex; el valor original1sigue existiendo en la memoria hasta que es recolectado. Dentro de los patrones de coincidencia,=es el operador de coincidencia, no asignación, por lo que{:ok, value} = resultdescompone y asigna simultáneamente. -
¿Cuál es la diferencia entre un
dobloque y lado:abreviatura de palabra clave?def foo do ... endes la forma de bloque multilinea, donde el cuerpo puede contener cualquier número de expresiones.def foo, do: expres la abreviatura de lista de palabras clave para un cuerpo de una sola expresión y se analiza como un par de 2 en una lista de palabras clave.{:do, expr}Ambos producen bytecode idéntico; la abreviatura se prefiere para expresiones de una línea y la forma de bloque para cuerpos de múltiples instrucciones. -
¿Por qué los charlists y los binarios son diferentes en Elixir?
Una cadena doble comilla es un binario UTF-8 — una secuencia de bytes. Una cadena simple comilla es una lista enlazada de códigos Unicode, heredada de Erlang donde las cadenas tradicionalmente son listas de enteros. La mayoría de las APIs de Elixir (Phoenix, Ecto, Plug) trabajan con binarios; los charlists aparecen principalmente en límites de interoperabilidad con Erlang (
:inets,:gen_tcp, etc.) donde la biblioteca subyacente espera listas.
Instalar extensiones
Agregue herramientas IO a su navegador favorito para obtener acceso instantáneo y búsquedas más rápidas
恵 ¡El marcador ha llegado!
Marcador es una forma divertida de llevar un registro de tus juegos, todos los datos se almacenan en tu navegador. ¡Próximamente habrá más funciones!
Herramientas clave
Ver todo Los recién llegados
Ver todoActualizar: Nuestro última herramienta se agregó el 12 de junio de 2026
