Cómo reformatear código C en el editor

Pega un archivo o un fragmento de C en el editor y pulsa el botón de formateo: la herramienta vuelve a partir las líneas después de llaves y puntos y coma, sangra el resultado con tabuladores y lo muestra resaltado en el panel inferior.

Es una pasada de texto, no un compilador. Las cadenas, los comentarios y las líneas de preprocesador pasan sin cambios, y el editor conserva tu texto original para que puedas comparar ambos.

  1. Pega o escribe el código C en el editor; el ejemplo inicial es un programa mínimo que puedes sobrescribir.
  2. Pulsa Formatear código C. El resultado aparece en el panel resaltado de abajo.
  3. Si cambias la entrada después, el resultado anterior se atenúa y un aviso te pide ejecutar el formateador de nuevo, así que un diseño antiguo nunca se muestra como actual.
  4. Copiar lleva el texto formateado del panel al portapapeles; Limpiar vacía el editor y el resultado.
  5. Con salidas muy grandes el panel deja los colores de sintaxis y muestra texto plano para no bloquear la pestaña.

Qué reescribe el formateador y qué deja intacto

Lo que se conserva tal cual

Comprobado en la página: char *p="a;b}"; mantiene el punto y coma y la llave dentro de la cadena, el comentario /* block ; { } */ conserva su puntuación, y una macro con continuación de línea (#define LONG(a) do { \ ...) vuelve carácter por carácter, incluido #define X {1,2} en una sola línea.

Ese es el objetivo: solo se mueve el espacio en blanco. Cuando un fragmento depende del espaciado exacto dentro de macros o de las líneas de continuación, el formateador las deja como están en lugar de arriesgarse a cambiar el programa.

Dónde el diseño es aproximado

El proceso se basa en analizar texto, no en una gramática, así que las líneas compactas se expanden por reglas. struct S{int a;char *b;};typedef struct S S; pasa a cuatro líneas, pero el tramo final };typedef struct S S; se queda en una sola: las expresiones no se vuelven a espaciar.

No compila, ni analiza, ni valida nada. Un punto y coma ausente, llaves desequilibradas o sintaxis inválida producen el mejor diseño posible en lugar de un mensaje de error; usa la salida como borrador legible y pásala luego por tu compilador o linter.

Archivos grandes

El formateo se ejecuta dentro de la página: una muestra de 64 KB (4.000 sentencias, unos 82 KB de salida) tarda menos de un segundo en Chrome y la ejecución no envía ninguna petición de red, por lo que no necesita conexión.

A partir de unos 120.000 caracteres de salida el panel pasa a texto plano sin colores, para que un archivo largo no detenga la pestaña. Para archivos así sigue siendo más cómodo dividir la entrada o usar un formateador local.

Herramientas recientes: