Embellecedor de código
Cinco lenguajes, una indentación
Este embellecedor de código lee un archivo como lo hace el lenguaje y luego lo vuelve a colocar. Elige uno de los cinco modos, ajusta la indentación y el estilo de llaves, y copia el resultado de vuelta a tu editor. Nada de lo que pegas sale del navegador.
- GratisPrecio
- 5Lenguajes
- NingunoRegistro
- NingunoSubidas
Embellecedor de código
Reindenta Java, C, C++, ActionScript o un crontab, y mira el número de línea de cualquier llave que no cuadre
Listo. Pega un archivo o pulsa uno de los botones de muestra.
Qué hace un embellecedor de código con un archivo
El diseño y el significado son cosas distintas en el código. Por eso un embellecedor de código puede cambiar cada espacio sin cambiar lo que hace el programa.
Esa es toda la promesa. Este embellecedor de código lee el archivo, averigua dónde empieza y acaba cada bloque, y reescribe las líneas con una indentación que sigue el anidamiento.
Cinco modos viven tras un solo editor en este embellecedor de código: Java, C, C++, ActionScript y crontab. Como los cuatro primeros comparten una gramática de llaves, comparten casi todo el lector, y cada uno añade sus reglas encima.
Todo corre en esta pestaña. Así que puedes ordenar un archivo bajo cláusula de confidencialidad sin que toque un servidor.
El resultado es un archivo que un revisor puede leer. Como un diff muestra el cambio de diseño entero, mantienes el control de lo que vuelve al repositorio.
Cómo lee un embellecedor de código un archivo
Un formateador no puede limitarse a contar espacios. En su lugar recorre el texto una vez y sigue el estado en que está.
El lector conoce cuatro estados: código normal, una cadena literal, un carácter literal y un comentario. Como una llave significa una cosa en el código y nada dentro de una cadena, el estado lo decide todo.

Esa única regla es lo que separa un embellecedor de un buscar y reemplazar. Una expresión regular que indenta en cada llave de apertura moverá las líneas dentro de una cadena que da la casualidad de llevar una llave.

Así que el lector mide una línea en vez de reescribirla. Luego la profundidad que sostiene en el salto de línea fija la indentación de la siguiente.
La profundidad sube en una llave de apertura y baja en una de cierre. Mientras tanto, el lector pasa por encima de una llave dentro de un comentario o un literal, y la profundidad se queda donde estaba.
Por qué importa una llave dentro de una cadena
Piensa en una línea que arma un mensaje con una llave suelta, o en una expresión regular escrita como literal. Para un contador, cada una parece el inicio de un bloque.
Desde ahí la indentación está mal el resto del archivo. El fallo es silencioso, porque el archivo aún compila. Solo se lee mal desde una línea en adelante.
El lector lo evita al negarse a contar dentro de un literal. Así que una llave en una cadena es texto, una llave en un comentario es texto, y solo una llave en el código mueve la profundidad.
El lector trata igual una comilla escapada. Como una barra invertida dentro de un literal mantiene al lector en ese literal, una comilla en medio de una cadena no lo termina.
La misma máquina de estados explica tres de los fallos comunes que se listan más abajo en esta página. Por eso vale la pena leerla dos veces.
Indentación y estilo de llaves, lado a lado
Dos ajustes hacen casi todo el trabajo visible en un embellecedor de código. El primero es la indentación, y el segundo es dónde va la llave de apertura.

El ancho de indentación es un número de espacios, de dos a ocho, o un solo tabulador. Como la elección es una convención de equipo y no una cuestión de corrección, cualquiera de las dos vale mientras el archivo sea coherente.
El estilo de llaves tiene tres respuestas comunes, y la disputa es lo bastante vieja como para que Wikipedia liste las variantes con nombre. En la primera, la llave abre al final de la línea que la necesita. En la segunda, la llave abre en una línea propia con la misma indentación. En la tercera, la llave abre en su propia línea indentada un nivel más.
Mezclarlos dentro de un archivo es lo que hace que un código cueste de ojear. Por eso el ajuste se aplica a todo el archivo de una vez, y el cuerpo se vuelve a colocar bajo la nueva elección.
Una llave de cierre siempre se sienta en la indentación de la línea que la abrió. Esa regla es lo que hace legible un método largo, ya que el ojo encuentra el fin de un bloque sin contar.
Qué añade el formateo de crontab
Un archivo crontab no es un lenguaje de llaves, así que el lector cambia a otro trabajo. Igualmente, en vez de anidar, comprueba que cada línea tenga el número correcto de campos.

Cinco campos forman un horario: minuto, hora, día del mes, mes y día de la semana, como los expone la referencia de cron. Luego sigue un comando, y sus propios espacios se dejan en paz.
Así que la herramienta cuenta los campos, nombra los que faltan y señala un valor que no puede significar nada. Una hora de 26 y un minuto de 61 son imposibles, y ambos son fáciles de teclear.
Un valor de paso y un rango reciben el mismo trato. Como cinco barra dos y nueve guion diecisiete son las dos formas que más se escriben mal, la herramienta comprueba cada una contra sus límites.
Los comentarios que empiezan con almohadilla se quedan donde están. Por consiguiente, el archivo vuelve con sus notas intactas y sus columnas alineadas.
En esta página
- La herramienta
- Qué hace un embellecedor de código con un archivo
- Cómo usar el embellecedor de código
- Por qué usar este embellecedor de código
- Hábitos que mantienen legible el código formateado
- Seis formas en que un formateador te sorprende
- Dudas sobre el embellecedor de código
- Herramientas que van con esta
Sigue leyendo
Cómo usar el embellecedor de código
Cuatro pasos, y ninguno necesita cuenta. El embellecedor de código hace el resto.
- 1
Elige el lenguaje
Así que elige Java, C, C++, ActionScript o crontab. El modo decide qué lector corre, y es el único ajuste que cambia lo que entiende la herramienta.
- 2
Pega el archivo
Luego pega un archivo entero o un solo método. Como el lector lee el texto y no una forma compilada, un fragmento vale mientras sus llaves cuadren.
- 3
Ajusta la indentación y el estilo de llaves
A continuación, elige dos, cuatro u ocho espacios, o un tabulador. Luego escoge dónde va la llave de apertura. Así el resultado sigue la convención del equipo y no la de tu editor.
- 4
Lee las notas, luego copia
Por último, repasa las notas bajo la vista previa. Después, copia el resultado de vuelta, o descárgalo como archivo con la extensión que sugiere el modo.
Por qué usar este embellecedor de código
Cinco razones, y cada una ahorra un viaje de ida y vuelta.
Lee cadenas y comentarios
Como el lector sigue su estado, una llave dentro de un literal o un comentario nunca mueve la indentación. Por eso un archivo con un mensaje lleno de llaves vuelve correcto.
Cinco modos, un editor
Así que cambias entre Java y un crontab sin abrir una segunda pestaña. Entre los dos cubren casi todo lo que guarda un directorio de compilación.
Nada se sube
La lectura y la reescritura corren en esta pestaña. Por consiguiente, un archivo bajo cláusula de confidencialidad no es distinto de uno público aquí.
Las notas nombran la línea
Como las notas nombran la línea de una llave desequilibrada, un archivo que no se asienta es fácil de encontrar. Así la herramienta sirve también de chequeo rápido.
No toca el significado
Solo cambian los espacios. Así un token, una cadena o un comentario conserva cada carácter que tenía, y la diferencia en una revisión es solo de diseño.
Hábitos que mantienen legible el código formateado
Seis hábitos que deciden si un archivo formateado sigue siendo legible.
- Formatea el archivo, no el fragmento Así que pasa el archivo entero de una vez. Un método formateado solo puede quedar a distinta profundidad que la clase que lo rodea, y la unión se nota.
- Mantén una indentación por repositorio Como un repositorio mezclado hace ruidoso cada diff, el número importa menos que la coherencia. Elige uno y déjalo en la config del editor.
- Formatea antes de la revisión, no durante Así que pon el cambio de diseño en su propio commit. Luego un revisor ve un diff solo de espacios, y el cambio de lógica queda como una lectura aparte.
- Deja en paz las cadenas literales largas Un embellecedor no puede partir un literal sin cambiarlo. Como una URL o una sentencia SQL partida significa otra cosa, deja esas líneas largas.
- Comprueba las columnas de crontab a ojo Así que lee los cinco campos una vez tras formatear. Un valor que la herramienta acepta aún puede programar el trabajo a la hora equivocada, y el archivo es donde eso se ve.
- Vigila el primer recuento de líneas Por último, compara el recuento de líneas antes y después. Como un formateador solo mueve espacios, el recuento debe coincidir, y una diferencia significa que algo más cambió.
Seis formas en que un formateador te sorprende
Cada una parece bien en la vista previa y cuesta tiempo después.
Formatear un archivo que no compila
Ojo aquí. Una llave desequilibrada deja al lector un nivel fuera el resto del archivo. Así que la vista previa se ve desplazada y las notas nombran la línea donde se torció.
Esperar que se entienda un preprocesador
El lector toma una línea con almohadilla, como un define o un include, como una línea y no como código. Por eso una macro que abre una llave confunde al contador de profundidad, y la herramienta lo dice.
Pegar dos archivos a la vez
Dos unidades de traducción en un panel comparten un contador de profundidad. Como el contador nunca se reinicia, el segundo archivo empieza donde acabó el primero.
Confiar en la indentación mientras una cadena sigue abierta
Una comilla sin cerrar mantiene al lector dentro de un literal hasta el final del archivo. Por eso el lector pasa por encima de cada llave después, y la indentación deja de moverse del todo.
Reformatear un archivo que está en revisión
Un cambio de diseño en una rama que otro está leyendo hace difícil encontrar el diff real. Así que acuerden el momento, o espera al merge.
Suponer que el modo de lenguaje es un compilador
El modo solo decide qué lector corre. Como este lector no construye un árbol de sintaxis, no avisa de un tipo mal ni de un punto y coma que falta.
Dudas sobre el embellecedor de código
¿Este embellecedor de código es gratis?
Sí. No hay cuenta, ni límite, ni plan de pago. Así que puedes formatear todos los archivos que quieras.
¿Qué lenguajes formatea?
Cinco: Java, C, C++, ActionScript y crontab. Los cuatro de llaves comparten un lector, y cada uno añade sus propias reglas.
¿Cambia lo que hace mi programa?
No. Solo se mueven los espacios. Cada token, cadena y comentario conserva sus caracteres, así que el resultado compila igual.
¿Indentará una llave dentro de una cadena?
No. El lector entra en estado de literal y pasa por encima de todo lo que hay dentro. Por eso un mensaje o una expresión regular llenos de llaves no tocan la indentación.
¿Corrige errores de sintaxis?
No. Avisa de una llave desequilibrada y nombra la línea, lo cual es buena pista. Corregir el código sigue siendo tu tarea.
¿Puedo elegir el ancho de indentación?
Sí. Dos, cuatro u ocho espacios, o un tabulador. El ajuste se aplica a todo el archivo y no a una selección.
¿Qué estilos de llaves puedo elegir?
Tres. La llave de apertura al final de la línea, en su propia línea con la misma indentación, o en su propia línea indentada un nivel más. Allman y K&R son los dos que ya habrás visto.
¿Colapsa las líneas en blanco?
Sí, puede. Una tanda de líneas en blanco dentro de un método se vuelve una, mientras que la línea en blanco entre dos métodos se queda.
¿Puede formatear un archivo crontab?
Sí, ese es el quinto modo. Alinea los cinco campos de horario, deja los comentarios donde están y señala un valor fuera de rango.
¿Ejecuta mi código?
No. No ejecuta nada, no compila nada y no evalúa nada. El archivo se lee como texto y se devuelve como texto.
¿Se sube mi código a algún sitio?
No. Tanto la lectura como la reescritura ocurren en esta pestaña. Así que un archivo bajo cláusula de confidencialidad se queda en tu equipo.
¿Puedo pegar un archivo entero?
Sí. Un archivo de unos miles de líneas se formatea en un instante. El límite es tu equipo y no una cuota de servidor.
¿Maneja un archivo de cabecera?
Sí. Una cabecera de C o C++ usa la misma gramática, así que se formatea igual. Solo las secciones llenas de macros necesitan un segundo vistazo, como se indica arriba.
¿Qué finales de línea salen?
Los que usó la entrada. Como un archivo con retornos de carro los conserva, pegar el resultado no convierte cada línea en un cambio.
¿Puedo descargar el resultado?
Sí. La descarga usa la extensión que sugiere el modo, así que un archivo Java llega como archivo de texto y no como página.
¿Ordena los imports o reordena algo?
No. Las líneas conservan su orden. Como reordenar puede cambiar el significado, la herramienta solo mueve espacios.
¿Puede minificar además de embellecer?
No, y es a propósito. Minificar también quita comentarios, que es otra decisión. Los minificadores de aquí hacen ese trabajo.
¿Por qué mi archivo sigue mal indentado?
La causa habitual es una comilla sin cerrar o una llave desequilibrada antes en el archivo. Las notas bajo la vista previa nombran la línea donde la profundidad dejó de cuadrar.
¿Funciona en el móvil?
Sí. Los paneles se apilan y los ajustes se envuelven en filas. Así que un arreglo pequeño es posible lejos del escritorio, aunque un archivo entero es más fácil con teclado.
¿Conserva mis comentarios?
Sí. Un comentario de línea y uno de bloque sobreviven, y el contador de profundidad pasa por encima de ambos. Por eso un comentario nunca cambia el diseño a su alrededor.
¿El código formateado es mío?
Es tuyo. Nada aquí reclama una licencia sobre tu archivo, y no hay crédito que dar.
¿Necesito una cuenta o un plugin?
No. También, no hay registro, ni plugin, ni extensión que añadir. Así que cierras la pestaña cuando el archivo está limpio.
Herramientas que van con esta
Cuatro páginas a las que suele llevar el mismo trabajo.
Minificador de CSS
Una vez que una hoja de estilos está colocada, quita los espacios otra vez. Como un archivo publicado paga por cada comentario y salto de línea, este es el paso antes de subir.
Abrir herramienta →Minificador de JavaScript
Luego encoge un script del mismo modo. Así el archivo que descarga un navegador es más pequeño que el que lee un revisor.
Abrir herramienta →Formateador de JSON
Un documento JSON merece el mismo trato que un archivo de código. Como un objeto anidado en una línea esconde su propia forma, esta página lo despliega.
Abrir herramienta →Probador de selectores CSS
Cuando una regla de la hoja de estilos no coincide con nada, esta página la nombra. Como un selector que no coincide con nada falla en silencio, vale la pena comprobarlo.
Abrir herramienta →
Reindenta el archivo y sigue con lo tuyo
Elige el lenguaje, pega el archivo, ajusta la indentación y el estilo de llaves, y luego lee las notas. Además, nada se sube, nada se ejecuta y solo cambian los espacios. La mayoría de archivos vuelven a leerse bien en un momento.