כיסוי מובנה ב-VS CODE וב-VISUAL STUDIO

כיסוי שחי בתוך העורך שלכם

טענו קובצי lcov,‏ llvm-cov JSON,‏ Cobertura,‏ JaCoCo,‏ Istanbul,‏ SimpleCov,‏ Clover,‏ OpenCover,‏ coverage.py,‏ gcov,‏ Go,‏ Coveralls,‏ SonarQube,‏ GNATcoverage,‏ Bullseye,‏ Visual Studio,‏ Xcode,‏ VectorCAST,‏ Testwell CTC++‎,‏ TRACE32,‏ EMMA,‏ UCIS/UCDB,‏ NCover ו-dotCover, נרמלו אותם למודל קנוני אחד, מזגו ריצות באופן דטרמיניסטי וקראו את התוצאה ישירות בשולי העורך — ב-VS Code, וב-Visual Studio 2022 ו-2026 בכל מהדורה. בלי מציג נפרד שבשבילו צריך לעזוב את העורך.

הורדת ה-VSIX קראו את מדריך המשתמש גלו את התכונות

מתחילים בחינם. Fucini Coverage Studio פועלת בחינם למשך תקופת ניסיון של 14 ימים, כשהכול פתוח. אחר כך היא אינה נועלת אתכם בחוץ, אלא מתייצבת על רמת Community החינמית — כל תכונה חוץ מ-MC/DC, עם תקרות חודשיות נדיבות בכמה מהן. שדרגו בכל עת למערך ללא הגבלות, או פתחו את הכול בחינם באמצעות שיתוף טלמטריית שימוש מפורטת. ראו את התוכניות →

הבא בתור: כל הכיסוי הזה ב-Azure DevOps, בהרחבה חינמית. Azure DevOps מציג כיסוי על בנייה רק עד כמה שהפורמט שלו מגיע — שורות, וענפים כאחוז. Fucini DevOps Studio יציג את כל מה ש-Coverage Studio קורא: כל אחד מ-25 הפורמטים האלה, לכל שפה, עם MC/DC, תנאים, הציון המשולב והספים, כלשונית Coverage בצינור שהפיק אותה. עקבו אחר החדשות לקראת הגרסה הראשונה.

Covered/uncovered gutters with the Test Coverage panel openScreenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).

כשבינה מלאכותית כתבה את הבדיקות

חבילת בדיקות שנוצרה אוטומטית נראית יסודית. הכיסוי מראה אם היא באמת כזו.

מודל שפה יכתוב לכם חבילת בדיקות תוך שניות, והיא תיקרא משכנעת. מה שהוא לא יכול לומר לכם הוא אם הבדיקות האלה מגיעות למשהו שחשוב — וגם כיסוי שורות לא יכול, כי בדיקה ללא ולו טענה אחת עדיין מדליקה כל שורה שהיא נוגעת בה.

◆ החלטות, לא רק שורות

MC/DC וכיסוי ענפים מראים אם כל החלטה אכן הופעלה, ולא רק אם השורה נגעה. בדיקות שנוצרו אוטומטית הולכות במסלול הנוח ומשאירות את הצד השני של כל if ללא נגיעה — מה שנקרא ככיסוי שורות של 100% וכיסוי ענפים של 50%. הפער הזה הוא הממצא.

◆ פונקציות שאיש לא קרא להן

זיהוי קוד מת מונה את הפונקציות שאף בדיקה לא הגיעה אליהן. חבילה שנוצרה אוטומטית מזכירה אותן בכותרות הבדיקות ולעולם לא מגיעה אליהן, וזה בלתי נראה בהרצה ירוקה.

◆ קשור לשינוי שלפניכם

כיסוי diff מודד רק את מה שהשתנה מול בסיס git, ולכן ״הבדיקות עוברות״ הופך ל״הקוד שהרגע אישרתם נבדק״. זה עובד באותה צורה בין אם אדם כתב אותו ובין אם עוזר.

שום דבר מכל זה לא מוכיח שבדיקה היא טובה — שום דבר לא יכול. הוא אומר לכם, במדויק ולפי שורה, מה מעולם לא רץ: החלק שסוקר לא יכול להחזיק בראש ושעוזר לא יזכיר מיוזמתו. עובד עם TypeScript ו-JavaScript דרך Vitest, Jest או nyc, ועם C, C++, Java ו-Ruby דרך קובצי המעקב שאותן שרשראות כלים כבר מייצרות.

במה אנחנו שונים

מודל אחד, כל פורמט, אפס מציג מותאם אישית

◆ עשרים וחמישה פורמטים בכניסה

LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON וטקסט רגיל, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover ו-dotCover — מזוהים אוטומטית וממוזגים באופן דטרמיניסטי עם מקור מתועד.

◆ ממשק מובנה ביציאה

סימוני שורה, ענף ופונקציה, סרגל הסקירה, תגי הסייר ותצוגת Covered Files.

◆ MC/DC ואזורים

Modified Condition/Decision Coverage, כיסוי אזורים ומופעי C++ מתוך llvm-cov, עם פירוט לכל החלטה בעת מעבר עכבר.

◆ ציון משוקלל לפי בטיחות

ממוצע הרמוני משוקלל יחיד על פני כל המדדים, עם משקלים המותאמים לרמות IEC 61508 / ISO 26262 / DO-178C.

◆ בקרת עמידה בדרישות

פסקי דין COMPLIANT / NON-COMPLIANT עם ספי סף לכל מדד ומצבים strict, whm, both או either.

◆ כיסוי הפרשי

הגבילו את הקישוטים לשורות שהשתנו ביחס לענף בסיס ב-git — מושלם לבדיקה מדויקת של מה ש-PR כיסה או לא כיסה.

מוכן לעבודה תוך 30 שניות

  1. התקינו את ההרחבה ופתחו את הפרויקט שלכם.
  2. הריצו את הבדיקות — Command Palette → Fucini Coverage: Run Tests with Coverage. הפקודה מזהה את vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit ו-ctest, מריצה את הבדיקות עם כיסוי פעיל וטוענת את מה שהן כותבות. כבר יש לכם קובץ מעקב? Fucini Coverage: Pick Coverage File טוען אותו וזוכר אותו.
  3. פתחו קובץ מקור — השוליים מראים אילו שורות רצו, שורת המצב את אחוז הקובץ, ריחוף את מספר ההרצות של כל שורה, וההרצה מופיעה בתצוגת Coverage ובחלונית Test Coverage של VS Code עצמה. מכאן והלאה הכול נטען מחדש מעצמו בכל פעם שקובץ המעקב משתנה.

דורש VS Code ≥ 1.88, או Visual Studio 2022 או 2026 — Community,‏ Professional או Enterprise — וקובץ עקבות כיסוי שהפרויקט שלכם כבר מייצר. ב-Visual Studio 2022 הכיסוי המובנה קיים רק ב-Enterprise; Coverage Studio ל-Visual Studio מציג אותו גם ב-Community וב-Professional, מתוך הקובץ שה-build שלכם כבר כותב.

איך זה בהשוואה

גם VS Code עצמו וכמה הרחבות חינמיות מציגים כיסוי. זה מה שהתיעוד של כל אחד מהם אומר שהוא עושה, נכון לספטמבר 2026 — כשקובץ README לא מזכיר משהו, הטבלה אומרת זאת במקום לנחש.

Fucini Coverage StudioVS Code, מובנהCoverage GuttersCode Coverage (markis)Gcov Viewer
מאיפה מגיע הכיסוי25 פורמטים של קובצי מעקב, וגם דוחות מוטציה של PIT ו-Strykerהרחבת בדיקות שמדווחת על כיסויקובצי lcov ו-XMLקובצי lcovקובצי .gcda של GCC, דרך gcov
שורות לא מכוסות בעורך✓✓✓✓, וגם ב-Problems✓
כיסוי הסתעפויות, לכל ענף✓כשהרחבת הבדיקות מדווחת עליולא מתוארלא מתוארלא מתואר
MC/DC✓ (Pro)—לא מתוארלא מתוארלא מתואר
כמה קובצי מעקב ממוזגים, ואיזה מהם כיסה כל שורה✓—תמיכה בכמה קבציםלא מתוארלא מתואר
טעינה מחדש כשקובץ המעקב משתנה✓מציג את הרצת הבדיקות האחרונה✓לא מתוארלא מתואר
כיסוי שינויים, ספים והיסטוריה✓כיסוי מוצג בעורך ההשוואהלא מתוארלא מתוארלא מתואר
דוח HTMLנוצר, מתארח אצלכם—מציג תצוגה מקדימה של דוח קייםלא מתוארלא מתואר
כיסוי לסוכני AI: כלי מודל שפה ושרת MCP✓לא מתוארלא מתוארלא מתוארלא מתואר
הבדיקות שהריצו שורה, והבדיקות שהשינויים שלכם משפיעים עליהן✓כיסוי לפי בדיקה, כשהרחבת הבדיקות מדווחת עליולא מתוארלא מתוארלא מתואר
תוצאות בדיקות מוטציה בעורך✓ (PIT, Stryker)לא מתוארלא מתוארלא מתוארלא מתואר
סף לקוד חדש✓לא מתוארלא מתוארלא מתוארלא מתואר
אותם מספרים ב-Visual Studio ובשורת הפקודה✓—לא מתוארלא מתוארלא מתואר

זו לא בחירה של זה או זה מול התצוגה של VS Code: כל טעינה מתפרסמת גם בחלונית Test Coverage המובנית, כולל סינון לפי בדיקה. משהו כאן לא מעודכן? ספרו לנו בדף יצירת הקשר.

פורמטים נתמכים

פורמטקובץ טיפוסי
LCOVlcov.info, *.info
llvm-cov JSONllvm-cov export --format=json
Cobertura XMLcoverage.xml
JaCoCo XMLjacoco.xml
Istanbul / nyccoverage-final.json
SimpleCov (Ruby).resultset.json, coverage.json
Clover XMLclover.xml
OpenCover XMLcoverage.opencover.xml
coverage.py JSONcoverage.json (coverage json)
gcov / gcovr JSONgcov --json-format --stdout, gcovr --json
Go coverage profilecoverage.out
SonarQube generic<coverage version="1"> XML
GNATcoverage XML (Ada)gnatcov coverage --annotate=xml
BullseyeCoverage XMLcovxml output
Visual Studio.coveragexml (dotnet-coverage convert)
Coveralls JSONcoveralls.json
Xcode xccov JSONxcrun xccov view --report --json
צפו בכל תכונה מדריך למשתמש מלא