Programmation et développement logiciel

L’extension MSBuild Binlog Analyzer permet d’analyser les journaux de build avec Copilot dans VS Code

Microsoft a lancé l’extension MSBuild Binlog Analyzer for VS Code en version préliminaire afin d’analyser les journaux binaires MSBuild, d’expliquer les causes des échecs de build, de comparer les performances et de détecter les régressions via GitHub Copilot. L’extension repose sur le serveur Microsoft.AITools.BinlogMcp et nécessite VS Code 1.99 ou une version ultérieure, GitHub Copilot et le SDK .NET.

2026-07-27
5 min de lecture
14 vues
فريق تحرير certi.news
L’extension MSBuild Binlog Analyzer permet d’analyser les journaux de build avec Copilot dans VS Code

L’extension MSBuild Binlog Analyzer for VS Code est disponible en version préliminaire sur Visual Studio Marketplace. Elle permet d’analyser les journaux binaires MSBuild directement dans l’éditeur Visual Studio Code, au lieu de dépendre d’une visionneuse distincte. L’extension utilise GitHub Copilot pour aider les développeurs à comprendre les causes des échecs de build, à analyser les ralentissements, à comparer plusieurs builds et à détecter les régressions.

Les fichiers .binlog enregistrent les détails des projets MSBuild, de leurs cibles, de leurs tâches, de leurs propriétés et de leurs diagnostics. Toutefois, l’extraction des informations importantes peut nécessiter l’ouverture d’un autre outil et la connaissance de l’endroit où effectuer la recherche. L’extension vise à résoudre ce problème en transformant le contenu du journal en réponses compréhensibles au sein même de l’environnement de développement.

Analyse des causes des échecs et des performances

Le développeur peut demander à Copilot pourquoi un build a échoué. L’extension fournit alors une explication en langage clair, au lieu de rechercher manuellement parmi les messages de restauration des packages NuGet et les autres sorties. Elle permet également d’appliquer la correction en un clic : Copilot lit le projet en échec, applique la correction, relance le build, puis charge les journaux avant et après la correction afin d’en vérifier le résultat. Il est aussi possible de corriger les problèmes un par un en cliquant avec le bouton droit de la souris sur le diagnostic et en choisissant Auto-fix with Copilot.

En cas de ralentissement du build, l’extension affiche les cibles et les tâches les plus lentes, dans l’ordre, tout en mettant en évidence le chemin critique qui détermine la durée réelle du build. Elle peut également expliquer quelles cibles ont été reconstruites et pourquoi, ce qui aide à vérifier le fonctionnement du build incrémentiel plutôt qu’à se fier aux suppositions.

Comparaison et détection des régressions

N’importe quel fichier binlog chargé peut être défini comme référence, afin que l’extension compare automatiquement les builds suivants à cette référence. Un badge affiché dans la barre d’état indique le pourcentage de variation par rapport à la référence, tandis que le nœud Regressions présente les détails des changements, notamment les cibles devenues plus lentes, les diagnostics ajoutés ou supprimés, les différences entre les propriétés MSBuild et les changements de versions des packages NuGet.

L’interface Build Comparison fournit une comparaison visuelle entre deux journaux au niveau des cibles, avec affichage des différences et mise en évidence du chemin critique calculé par le serveur MCP. La source cite un exemple dans lequel Copilot attribue une augmentation de 473 % à l’opération CoreCompile, commencée à partir d’un état à froid, en précisant qu’il s’agit du coût de la première compilation et non d’un problème dans le code.

Serveur et installation

L’extension fonctionne conjointement avec l’outil .NET global Microsoft.AITools.BinlogMcp, qui expose des dizaines d’outils d’analyse de build via le protocole Model Context Protocol. Copilot appelle ces outils pour s’appuyer sur les données réelles présentes dans le journal. Le serveur est également installé automatiquement lors de la première utilisation, sans configuration manuelle.

Pour utiliser l’extension, le développeur doit disposer de VS Code 1.99 ou d’une version ultérieure, de GitHub Copilot et du SDK .NET. Un fichier binlog peut être ouvert à l’aide de la commande Binlog: Load File dans la palette de commandes, accessible avec le raccourci Ctrl+Shift+P. Il est aussi possible de créer le journal pendant le build grâce à l’option Build & Collect Binlog, ou de l’ouvrir depuis Structured Log Viewer.

Après le chargement du journal, il est possible d’interagir avec le participant @binlog dans Copilot Chat en utilisant des questions telles que la cause de l’échec du build ou les cibles les plus lentes, ainsi que des commandes comme /errors, /perf, /timeline, /compare, /summary, /incremental et /buildcheck.

Outils supplémentaires et intégration avec CI/CD

L’extension comprend un explorateur Binlog qui affiche les projets, les erreurs, les avertissements et les sections consacrées aux performances. Elle affiche également les diagnostics dans le panneau Problems natif de VS Code, avec un CodeLens pour chaque projet et une option permettant de demander une explication à Copilot. Les autres fonctionnalités comprennent une chronologie des durées, la possibilité de suggérer et d’appliquer des améliorations, puis de les vérifier au moyen d’une comparaison automatique entre deux tests, ainsi que la recherche dans les événements de build, les tâches, les messages et les propriétés.

Elle permet également de télécharger des fichiers binlog depuis Azure DevOps Pipelines et GitHub Actions, en les filtrant par branche ou par demande de tirage, afin d’analyser les builds CI échoués sans quitter VS Code. Des outils linguistiques sont disponibles pour le mode agent et les modes de conversation personnalisés, ainsi qu’un mode Build Analysis prêt à l’emploi.

L’extension est encore en phase de préversion et fait l’objet d’un développement actif. Pour les personnes souhaitant travailler sans interface d’édition, la source mentionne Microsoft Binlog MCP Server, qui utilise le même moteur d’analyse de manière sans interface, ce qui convient aux investigations non interactives dans les environnements CI. Les rapports et les suggestions sont recueillis via le dépôt dotnet/skills.

Source de l’actualité
ف
Auteur

فريق تحرير certi.news

Dans la même catégorie

À lire également

Voir toutes les actualités