La extensión MSBuild Binlog Analyzer for VS Code ya está disponible en versión preliminar en Visual Studio Marketplace, para incorporar el análisis de registros binarios de MSBuild dentro del editor de Visual Studio Code, en lugar de depender de un visor independiente. La extensión utiliza GitHub Copilot para ayudar a los desarrolladores a comprender las causas de los fallos de las compilaciones, analizar la lentitud, comparar varias compilaciones y detectar regresiones.
Los archivos .binlog registran detalles de los proyectos de MSBuild, sus objetivos, tareas, propiedades y diagnósticos. Sin embargo, extraer la información importante de ellos puede requerir abrir otra herramienta y saber dónde buscar. La extensión aborda este problema convirtiendo el contenido del registro en respuestas comprensibles dentro del propio entorno de desarrollo.
Análisis de las causas de los fallos y del rendimiento
El desarrollador puede preguntar a Copilot por qué falló la compilación, y la extensión ofrece una explicación en lenguaje claro en lugar de obligarlo a buscar manualmente entre los mensajes de restauración de paquetes NuGet y el resto de la salida. También permite ejecutar la corrección con un solo clic: Copilot lee el proyecto con problemas, aplica la corrección, vuelve a compilar y carga los registros anteriores y posteriores a la corrección para verificar el resultado. Asimismo, es posible corregir los problemas uno por uno haciendo clic con el botón derecho en el diagnóstico y seleccionando Auto-fix with Copilot.
En los casos de compilaciones lentas, la extensión muestra los objetivos y las tareas más lentos en orden, y destaca la ruta crítica que determina el tiempo real de la compilación. También puede explicar qué objetivos se volvieron a compilar y por qué, lo que ayuda a comprobar que la compilación incremental funciona en lugar de depender de suposiciones.
Comparación y detección de regresiones
Se puede establecer cualquier archivo binlog cargado como línea base, para que la extensión compare automáticamente con él las compilaciones posteriores. En la barra de estado aparece una insignia que indica el porcentaje de cambio con respecto a la línea base, mientras que el nodo Regressions muestra los detalles de los cambios, incluidos los objetivos que se volvieron más lentos, los diagnósticos añadidos o eliminados, las diferencias en las propiedades de MSBuild y los cambios en las versiones de los paquetes NuGet.
La interfaz Build Comparison ofrece una comparación visual entre dos registros a nivel de objetivos, muestra las diferencias y destaca la ruta crítica calculada por el servidor MCP. La fuente menciona un ejemplo en el que Copilot rastrea un aumento del 473 % hasta una operación CoreCompile que comenzó desde un estado en frío, y explica que se trata del coste de la primera compilación, no de un problema del código.
El servidor y la instalación
La extensión funciona junto con la herramienta global de .NET Microsoft.AITools.BinlogMcp, que expone decenas de herramientas de análisis de compilaciones mediante el protocolo Model Context Protocol. Copilot invoca estas herramientas para basarse en los datos reales presentes en el registro, y el servidor se instala automáticamente durante el primer uso, sin configuración manual.
Para utilizar la extensión, el desarrollador necesita VS Code versión 1.99 o posterior, GitHub Copilot y el SDK de .NET. Se puede abrir un archivo binlog mediante el comando Binlog: Load File desde la paleta de comandos usando el atajo Ctrl+Shift+P, crear el registro durante la compilación mediante la opción Build & Collect Binlog o abrirlo desde Structured Log Viewer.
Después de cargar el registro, se puede interactuar con el participante @binlog en Copilot Chat mediante preguntas como cuál fue la causa del fallo de la compilación o cuáles son los objetivos más lentos, además de comandos como /errors, /perf, /timeline, /compare, /summary, /incremental y /buildcheck.
Herramientas adicionales e integración con CI/CD
La extensión incluye un explorador de Binlog que muestra los proyectos, errores, advertencias y secciones de rendimiento. También muestra los diagnósticos en el panel Problems nativo de VS Code, con CodeLens para cada proyecto y una opción para solicitar una explicación a Copilot. Otras funciones incluyen una línea de tiempo de las duraciones, la posibilidad de sugerir mejoras y aplicarlas para después verificarlas mediante una comparación automática entre dos pruebas, y la búsqueda en eventos de compilación, tareas, mensajes y propiedades.
También permite descargar archivos binlog de Azure DevOps Pipelines y GitHub Actions y filtrarlos por rama o solicitud de incorporación de cambios, para analizar compilaciones de CI fallidas sin salir de VS Code. Hay herramientas lingüísticas para el modo de agente y los modos de conversación personalizados, además del modo Build Analysis listo para usar.
La extensión aún se encuentra en fase de vista previa y está en desarrollo activo. Para quienes estén interesados en trabajar sin una interfaz de edición, la fuente menciona Microsoft Binlog MCP Server, que utiliza el mismo motor de análisis de una manera sin interfaz, adecuada para investigaciones no interactivas en entornos de CI. Los informes y las sugerencias se reciben mediante el repositorio dotnet/skills.