أصبحت إضافة MSBuild Binlog Analyzer for VS Code متاحة في إصدار تجريبي على Visual Studio Marketplace، لتجلب تحليل سجلات MSBuild الثنائية إلى داخل محرر Visual Studio Code بدلاً من الاعتماد على عارض منفصل. وتستخدم الإضافة GitHub Copilot لمساعدة المطورين على فهم أسباب فشل عمليات البناء، وتحليل البطء، ومقارنة عمليات بناء متعددة، واكتشاف التراجعات.
تسجل ملفات .binlog تفاصيل مشاريع MSBuild وأهدافها ومهامها وخصائصها وتشخيصاتها. لكن استخراج المعلومة المهمة منها قد يتطلب فتح أداة أخرى ومعرفة المكان الذي ينبغي البحث فيه. تستهدف الإضافة هذه المشكلة بتحويل محتوى السجل إلى إجابات قابلة للفهم داخل بيئة التطوير نفسها.
تحليل أسباب الفشل والأداء
يمكن للمطور سؤال Copilot عن سبب فشل عملية البناء، لتقدم الإضافة تفسيراً بلغة واضحة بدلاً من البحث اليدوي وسط رسائل استعادة حزم NuGet وسائر المخرجات. كما تتيح تنفيذ الإصلاح بنقرة واحدة؛ إذ يقرأ Copilot المشروع المتعثر، ويطبق الإصلاح، ثم يعيد البناء ويحمل سجلي ما قبل الإصلاح وما بعده للتحقق من النتيجة. ويمكن أيضاً إصلاح المشكلات واحدة تلو الأخرى من خلال النقر بزر الفأرة الأيمن على التشخيص واختيار Auto-fix with Copilot.
وفي حالات بطء البناء، تعرض الإضافة الأهداف والمهام الأبطأ بترتيبها، مع إبراز المسار الحرج الذي يحدد الزمن الفعلي لعملية البناء. كما يمكنها توضيح الأهداف التي أعيد بناؤها وأسباب ذلك، وهو ما يساعد في التحقق من عمل البناء التزايدي بدلاً من الاعتماد على التخمين.
المقارنة واكتشاف التراجعات
يمكن تعيين أي ملف binlog محمّل كخط أساس، لتقارن الإضافة عمليات البناء اللاحقة به تلقائياً. وتظهر في شريط الحالة شارة توضح نسبة التغير مقارنة بالخط الأساس، بينما تعرض عقدة Regressions تفاصيل التغييرات، بما في ذلك الأهداف التي أصبحت أبطأ، والتشخيصات المضافة أو المحذوفة، والفروقات في خصائص MSBuild، وتغيرات إصدارات حزم NuGet.
وتوفر واجهة Build Comparison مقارنة مرئية بين سجلين على مستوى الأهداف، مع عرض الفروقات وإبراز المسار الحرج الذي يحسبه خادم MCP. ويذكر المصدر مثالاً تتبع فيه Copilot زيادة قدرها 473% إلى عملية CoreCompile بدأت من حالة باردة، موضحاً أنها تكلفة التجميع الأول وليست مشكلة في الشيفرة.
الخادم والتثبيت
تعمل الإضافة بالاقتران مع أداة .NET العالمية Microsoft.AITools.BinlogMcp، التي تعرض عشرات أدوات تحليل البناء عبر بروتوكول Model Context Protocol. ويستدعي Copilot هذه الأدوات للاستناد إلى البيانات الفعلية الموجودة في السجل، كما يُثبّت الخادم تلقائياً عند الاستخدام الأول، من دون إعداد يدوي.
لاستخدام الإضافة، يحتاج المطور إلى VS Code الإصدار 1.99 أو أحدث، وGitHub Copilot، و.NET SDK. ويمكن فتح ملف binlog عبر الأمر Binlog: Load File من لوحة الأوامر باستخدام الاختصار Ctrl+Shift+P، أو إنشاء السجل أثناء البناء عبر خيار Build & Collect Binlog، أو فتحه من Structured Log Viewer.
بعد تحميل السجل، يمكن التفاعل مع المشارك @binlog في Copilot Chat، باستخدام أسئلة مثل سبب فشل البناء أو الأهداف الأبطأ، إلى جانب أوامر مثل /errors و/perf و/timeline و/compare و/summary و/incremental و/buildcheck.
أدوات إضافية وتكامل مع CI/CD
تتضمن الإضافة مستكشف Binlog يعرض المشاريع والأخطاء والتحذيرات وأقسام الأداء، كما تُظهر التشخيصات في لوحة Problems الأصلية داخل VS Code، مع CodeLens لكل مشروع وخيار لطلب تفسير من Copilot. وتشمل الميزات الأخرى مخططاً زمنياً للمدد، وإمكانية اقتراح تحسينات وتطبيقها ثم التحقق منها عبر مقارنة تلقائية بين اختبارين، والبحث في أحداث البناء والمهام والرسائل والخصائص.
كما تتيح تنزيل ملفات binlog من Azure DevOps Pipelines وGitHub Actions، مع تصفيتها بحسب الفرع أو طلب السحب، لتحليل عمليات بناء CI الفاشلة من دون مغادرة VS Code. وتتوفر أدوات لغوية لوضع الوكيل وأنماط المحادثة المخصصة، إضافة إلى نمط Build Analysis الجاهز.
الإضافة ما تزال في مرحلة المعاينة وتخضع لتطوير نشط. وللمهتمين بالعمل دون واجهة تحرير، يشير المصدر إلى Microsoft Binlog MCP Server، الذي يستخدم محرك التحليل نفسه بطريقة تعمل دون واجهة، بما يناسب التحقيقات غير التفاعلية في بيئات CI. وتُستقبل البلاغات والاقتراحات عبر مستودع dotnet/skills.