ست خطوات، هي نفسها في كلا المحررين. لا يشغّل Coverage Studio اختبارات خاصة به: يقرأ التقرير الذي تكتبه أدواتك أصلًا ويضعه على الكود — في VS Code، وفي Visual Studio 2022 و2026 على Community وProfessional وEnterprise سواء. كل خطوة هي أيضًا صفحة داخل المحرر مع زر لها: الجولة الإرشادية في VS Code، وTools → Coverage Studio → Getting Started في Visual Studio.
لم تثبّته بعد؟ نزّل البناء الخاص بمحررك — Community أو Pro لـ VS Code، أو إصدار Visual Studio — وعد إلى هنا؛ يحوي دليل المستخدم خطوات التثبيت لكليهما. تفضّل التجربة قبل ربط مشروعك؟ يحوي المشروع التوضيحي تقريرًا جاهزًا.
أيٌّ من التنسيقات الـ 25 يفي بالغرض — LCOV وCobertura وllvm-cov وOpenCover وcoverage.py وIstanbul وغيرها. إن لم يكن لديك أيٌّ منها، ففي المشروع التوضيحي تقارير لـ C وC++ (clang وMSVC) وC# وVisual Basic وTypeScript وJavaScript وPython.
File → Open Folder، أو ملف مساحة العمل. تظهر أيقونة Coverage في شريط الأنشطة بمجرد تفعيل الإضافة.
حل، أو مجلد (File → Open → Folder، وهكذا يُفتح مشروع CMake). تُحمَّل الإضافة معه؛ وView → Other Windows → Coverage هي نافذتها.
التقرير الموجود في مكان معتاد — coverage/lcov.info وcoverage.xml وcoverage-final.json وغيرها من الأسماء المعروفة، أو حيث تشير الإعدادات — يُعثر عليه ويُحمَّل من تلقاء نفسه. إن كان تقريرك في مكان آخر، فاختره مرة واحدة وسيُتذكَّر.
لوحة الأوامر → Fucini Coverage: Load Coverage، أو Pick Coverage File لاختيار ملف. يتعرّف Run Tests with Coverage على vitest وjest وpytest وgo وcargo وdotnet وmaven وgradle وphpunit وctest، ويشغّلها مع التغطية ويحمّل ما تكتبه.
Tools → Coverage Studio → Load Coverage File…، مرة واحدة. يخبرك جزء Fucini Coverage في نافذة Output بالملفات التي بُحث عنها ووُجدت. شغّل اختباراتك كالمعتاد؛ ويعيد Watch Coverage File التحميل عند تغيّر التقرير.
افتح ملف مصدر. الأحمر سطر لم يُنفَّذ قط، والكهرماني قرار اتُّخذ في اتجاه واحد فقط. افتراضيًا تُعلَّم هذه النتائج فقط؛ وتلوّن الخريطة الحرارية كل سطر بحسب عدد مرات تنفيذه، وتكتب عدّادات التنفيذ المضمّنة الرقم بعده.
Toggle Coverage Painting يشغّل العلامات ويطفئها؛ وfuciniCoverage.editorGutter.mode يختار uncovered أو heatmap، وhitCounts.inline العدّادات. التشغيل موجود أيضًا في عرض Coverage وفي لوحة Test Coverage الخاصة بـ VS Code.
Tools → Coverage Studio → Show Coverage in Editor، ثم Gutter: Heatmap أو Show Inline Hit Counts كما تشاء. تنطبق الإعدادات نفسها — يقرأ إصدار Visual Studio ملف .vscode/settings.json الخاص بك.
اقفز من موضع غير مختبَر إلى التالي بدل التمرير بحثًا عن الأحمر. يخبرك السطر فوق كل دالة بمقدار ما نُفِّذ منها — وبتعقيدها ودرجة CRAP وMC/DC حيث يحملها التقرير. والتمرير فوق سطر معلَّم يخبرك بالكلمات أي فرع لم يُسلك.
Next Uncovered هو Alt+N، والسابق Alt+P؛ وينتقل Next Partly-Tested Decision إلى القرار التالي الذي سُلكت بعض فروعه فقط.
أوتار بضغطتين بعد Ctrl+Shift+U: N وP للسطر غير المغطى التالي والسابق، وB للقرار التالي المختبَر جزئيًا — وليس Alt+N، لأن Alt مع حرف يفتح قائمة في Visual Studio. غيّرها تحت Tools → Options → Keyboard.
كل ملف بمقاييسه — الأسطر والفروع والدوال وMC/DC — ونتيجة واحدة لها جميعًا: متوسط توافقي مرجّح لا يُشترى بتغطية الأسطر وحدها. يعرض شريط الحالة تلك النتيجة للتشغيل وللملف الذي أنت فيه؛ ضع المؤشر عليه للبطاقة الكاملة.
عرض Coverage في شريط الأنشطة: رتّب، اطوِ، أخفِ الأعمدة، وانقر ملفًا لفتحه. يسرد Show Worst-Covered Files و…Functions من أين تبدأ.
View → Other Windows → Coverage هي الشجرة نفسها، والنتيجة في عنوانها؛ انقر صفًا بالزر الأيمن لفتحه أو نسخ مساره. يفتح Show Coverage Card بطاقة شريط الحالة دون مؤشر.
قل ما يكفي: حدًا أدنى لكل مقياس، أو ملف أمان يطلب 100 % من كل شيء. تقول البطاقة عندها COMPLIANT أو NON-COMPLIANT مقارنةً بها، وتسري العتبات نفسها في كلا المحررين لأنها الإعدادات نفسها.
يفتح Configure Coverage Compliance الإعدادات؛ ويعطي Check Coverage Thresholds الحكم كأمر، لخطاف pre-commit أو خط أنابيب.
يفتح الترس في شريط أدوات نافذة Coverage نافذة الإعدادات، التي تكتب إعدادات المستخدم لهذا الإصدار أو .vscode/settings.json الخاص بالمجلد، كما يقول محدِّد Write changes to فيها.
من هنا: دليل المستخدم لكل ما تبقى — التنسيقات، الدمج، إعادة تعيين المسارات، النتيجة، تقرير HTML — والأسئلة الشائعة للخطط والتراخيص. إصدار Visual Studio مشمول في كل خطة مدفوعة؛ والجهاز الذي فُعِّل فيه VS Code لا يحتاج إلى شيء آخر، ويقبل Tools → Coverage Studio → Licence… رمز اشتراك حيث لم يُفعَّل.