Formatee código programáticamente con DotNet Format
En este artículo, recorreremos el proceso de formatear su código C# .NET mediante programación utilizando la herramienta de formato dotnet. Esta guía se basa en el vídeo tutorial de Gerald Versluis sobre "Formate Your C# .NET Code Automatically with DotNet Format", donde demuestra cómo utilizar la herramienta de forma eficaz para garantizar que el código se adhiere a los estándares de formato coherentes. Proporcionaré marcas de tiempo y explicaciones detalladas de lo que Gerald hizo en el vídeo para ayudarte a seguir y aplicar estas técnicas a tus proyectos.
Introducción al formato DotNet
En (0:36), Gerald presenta dotnet format como una herramienta diseñada para dar formato al código C# basándose en las reglas definidas en un archivo .editorconfig. Este archivo es fundamental para imponer estilos de codificación coherentes en todo el proyecto. Asegura que todo el código se adhiere a las mismas directrices de formato, que pueden incluir:
- Estilo de sangría: Si se deben usar tabuladores o espacios.
- Reglas de espaciado: la cantidad de espacio alrededor de operadores, llaves, etc.
- Estructura del código: cómo se formatean las construcciones de una o varias líneas.
Al aplicar estas reglas, el formato dotnet ayuda a mantener una base de código uniforme, lo que facilita su lectura y gestión.
Entendiendo el archivo .editorconfig
El archivo .editorconfig, como explica Gerald en (0:48), especifica varias preferencias de estilo de codificación. Este archivo es muy flexible y permite definir una amplia gama de reglas de formato, entre las que se incluyen:
- Preferencias de sangría: Determina si se utilizan tabuladores o espacios para la sangría y cuántos espacios se utilizan.
- Guías de espaciado: Controla el espaciado alrededor de elementos de código como operadores, llaves y palabras clave.
- Otras reglas de formato: Define reglas de estilo adicionales para garantizar la coherencia del código.
El archivo .editorconfig sirve como punto central de configuración para el formato del código en diferentes editores e IDE.
Descripción general de la herramienta de formato DotNet
Gerald explica que el formato dotnet es una herramienta global para el tiempo de ejecución de .NET en (1:13). Al ser una herramienta global, puede instalarse una vez y utilizarse en varios proyectos .NET de su sistema. Esto permite un formato de código coherente sin necesidad de instalaciones o configuraciones separadas para cada proyecto.
Puedes acceder al repositorio del formato dotnet en GitHub en (1:26). Este repositorio proporciona el código fuente, la documentación e información adicional sobre la herramienta, ayudando a los usuarios a comprender sus funcionalidades y a mantenerse actualizados con las últimas versiones.
Uso básico del formato DotNet
En el minuto (2:09), Gerald demuestra el comando básico para utilizar el formato dotnet:
dotnet format <options> <workspace>
dotnet format <options> <workspace>
¿Qué es un espacio de trabajo?
En el contexto del formato dotnet, el término "espacio de trabajo" se refiere al ámbito del código que se formateará. Esto puede incluir:
- Archivo de solución: El archivo .sln que engloba varios proyectos.
- Un archivo de proyecto: Un archivo individual .csproj que contiene archivos de código específicos.
- Carpeta: Un directorio que contiene varios archivos de código, incluidos archivos .cs y potencialmente .vb.
La flexibilidad para especificar distintos tipos de espacios de trabajo permite aplicar el formato en varios niveles del proyecto.
Características y opciones
Gerald destaca varias características y opciones clave del formato dotnet en (2:27):
- Corrección automática: La herramienta puede corregir automáticamente problemas de formato basándose en las reglas definidas en su archivo .editorconfig. Esto es útil para mantener un estilo de código coherente en todo el proyecto sin intervención manual.
- Sólo comprobar: si prefiere revisar los problemas de formato sin realizar cambios, puede utilizar la herramienta para comprobar sólo los problemas. Esta función es especialmente útil en los procesos de integración continua (IC).
Opciones avanzadas y personalización
Gerald explora las opciones avanzadas y la personalización. Menciona:
- Nivel de gravedad: Permite especificar qué niveles de gravedad de las incidencias deben corregirse. Esto ayuda a abordar tipos específicos de problemas de formato.
- Incluir/excluir archivos: puede controlar qué archivos se incluyen o excluyen del formato. Esto resulta útil para centrarse en partes concretas de su código base.
- Comprobar solo con código de salida: Al utilizar la opción de comprobación, puede verificar si hay algún problema de formato sin aplicar correcciones. El código de salida indicará si se han encontrado problemas.
- Informe JSON: Genera un informe detallado en formato JSON, proporcionando información sobre el estado de formato de su código.
- Verbosidad: establezca el nivel de Verbosidad para controlar la cantidad de salida generada.
- Versión de la herramienta: Compruebe la versión del formato dotnet para garantizar la compatibilidad con su proyecto y mantenerse actualizado con las nuevas funciones.
Instalación de la herramienta de formato Dotnet
Gerald comienza explicando el proceso de instalación de la herramienta dotnet format, esencial para formatear código C# mediante programación. Muestra cómo configurarlo como herramienta global con el siguiente comando:
dotnet tool install -g dotnet-format
dotnet tool install -g dotnet-format
Este comando garantiza que el formato dotnet esté disponible en todo el mundo, permitiendo un fácil acceso desde cualquier símbolo del sistema o terminal. Gerald hace hincapié en la necesidad del tiempo de ejecución .NET Core, que debería estar instalado si se ha estado trabajando con .NET recientemente.

Para confirmar que la instalación se ha realizado correctamente, en (4:00), Gerald ejecuta:
dotnet format /?
dotnet format /?
Este comando muestra la lista de opciones y comandos disponibles, verificando que el formato dotnet está correctamente instalado y listo para su uso.

En (4:11), Gerald señala que algunas opciones, como --dry-run, están obsoletas y aconseja utilizar prácticas actualizadas para el formateo del código.
Aplicación de correcciones de formato de código
Comprobación de problemas de formato
Utilizando la base de código de Xamarin Community Toolkit como ejemplo práctico, Gerald comprueba primero si hay problemas de formato sin aplicar ningún cambio. Corre:
dotnet format . -f --check
dotnet format . -f --check
para identificar los archivos que necesitan formato. Gerald en (5:26) explica cómo se puede especificar el espacio de trabajo utilizando --folder para directorios o el formato dotnet sln para archivos de solución. Este comando enumera los archivos con problemas de formato.
Comprobación del nivel de error
Cada proceso que se ejecuta tiene un código de salida que indica el estado. Gerald ejecutó el siguiente comando para comprobar el nivel de error:
echo %errorlevel%
echo %errorlevel%
Gerald demuestra que un código de salida de 2 indica que hay errores de formato que deben corregirse.

Aplicación y verificación de correcciones
A continuación, Gerald muestra cómo aplicar correcciones de formato ejecutando de nuevo el comando, pero sin el indicador --check:
dotnet format . -f
dotnet format . -f
Esto formateará automáticamente los archivos de código basándose en las reglas definidas en su archivo .editorconfig. Gerald comprueba de nuevo el código de salida utilizando el mismo comando mencionado anteriormente, para asegurarse de que es 0, indicando que se han resuelto todos los problemas de formato.
Para verificar los cambios, en (8:00), utiliza una herramienta gráfica como GitHub Desktop para revisar los archivos actualizados. La herramienta muestra mejoras como espacios en blanco corregidos, instrucciones de uso organizadas y otros ajustes de formato.

Integración del formato en tu flujo de trabajo
Gerald recomienda incorporar la herramienta de formato dotnet en su canal de construcción CI. Esta práctica garantiza que el formato del código se aplique de forma coherente y ayuda a mantener unos estándares de código de alta calidad. Al automatizar el proceso de formateo, puede evitar las tareas de formateo manual y garantizar que todo el código se adhiere a las reglas de estilo definidas.
Conclusión
Siguiendo el detallado tutorial de Gerald, podrás integrar fácilmente dotnet format en tu proceso de desarrollo para automatizar el formateo de tu código C# .NET. Tanto si trabajas en solitario como si formas parte de un equipo, esta herramienta te ayudará a garantizar que tu código se mantiene limpio, coherente y fácil de leer. No dejes de ver el vídeo de Gerald para ver una demostración práctica y más información sobre la herramienta de formato dotnet. Visita también su Canal de YouTube para obtener más información sobre el código C#.

