Cookies Este sitio guarda solo lo imprescindible para funcionar. Hoy no usa analítica ni publicidad, y nada de lo que hay aquí te sigue a otras webs. Leer la política de privacidad

Elegir qué permitir
+92 312 8299940Presupuesto gratis
Herramienta gratis, nada que instalar

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.

Tu navegador hace todo el trabajo aquí, en esta pestaña. No subimos nada, no guardamos nada y no registramos nada.
La versión corta

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á.

Diagrama de cinco líneas de Java a la izquierda, cada una con una flecha al estado en que está el lector y a la profundidad de indentación tras esa línea, donde la primera línea abre un método así que la profundidad pasa a uno, las tres siguientes ponen la misma llave dentro de una cadena, un carácter literal y un comentario así que el estado cambia cada vez pero la profundidad se mantiene en uno, y la última línea cierra el método así que la profundidad vuelve a cero
Cuatro estados, un contador, y una llave que solo cuenta cuando el lector está en código.

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.

Captura del embellecedor de código con la muestra de Java cargada, el panel izquierdo mostrando el código plano de una clase llamada Invoice con una cadena que lleva una llave en su texto, un bucle for y un comentario que también lleva una llave, el panel derecho mostrando el mismo código reindentado a dos espacios por nivel, y el panel de abajo listando el lenguaje leído como Java, trece líneas de entrada, trece de salida, un comentario encontrado y un paso de indentación de dos espacios
La muestra de Java, antes y después, con el recuento de lo que encontró el lector debajo.

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.

Captura del embellecedor de código con un archivo Java roto a propósito, el panel izquierdo muestra una clase cuya novena línea cierra un bloque que nadie abrió y cuya tercera línea deja abierto un literal de cadena, el panel derecho muestra el mismo archivo reindentado dos espacios por nivel con la profundidad detenida tras la comilla, el panel de abajo lee nueve líneas dentro, nueve líneas fuera y ningún comentario encontrado, y un panel bajo el resultado lista dos notas que nombran los números de línea del fallo
Un archivo roto, y las notas que nombran la línea en la que está cada fallo.

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.

Captura del embellecedor de código con el estilo de llaves puesto en llave de apertura en su propia línea y la indentación en cuatro espacios, el panel izquierdo con la muestra plana de Java y el panel derecho mostrando la misma clase con cada llave de apertura movida a una línea propia, el panel de abajo marcando trece líneas de entrada, diecisiete de salida, un comentario encontrado y un paso de indentación de cuatro espacios, y una nota bajo el resultado diciendo que cuatro llaves sueltas se movieron a su propia línea y que no se tocó ninguna otra
Elegir el estilo de llaves, y la nota que dice exactamente qué líneas se movieron.

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.

Captura del embellecedor de código en modo crontab con un archivo de mantenimiento de nueve líneas introducido, una línea de comentario, dos líneas de asignación para el shell y el correo, una línea en blanco y cinco líneas de horario, las cinco columnas de campos de cada horario separadas de forma uniforme con el comando dejado en paz, una línea que empieza con arroba para un trabajo de reinicio, y una nota bajo el resultado diciendo que una línea empieza con arroba, que es un horario escrito como una sola palabra, así que queda fuera de las cinco columnas y se dejó en paz
El modo crontab separa las cinco columnas y deja el comando, y cualquier línea con arroba, sin tocar.

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.

Paso a paso

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é esta página

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.

Reglas básicas

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ó.
Cuidado aquí

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.

Preguntas

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.

Sigue adelante

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.