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).

जब टेस्ट AI ने लिखे हों

जनरेट किया गया टेस्ट सूट पूरा लगता है। कवरेज बताता है कि वह वाकई है या नहीं।

एक भाषा मॉडल सेकंडों में आपके लिए टेस्ट सूट लिख देगा, और वह भरोसेमंद पढ़ा जाएगा। जो वह नहीं बता सकता, वह यह है कि क्या वे टेस्ट किसी सार्थक जगह तक पहुँचते हैं — और लाइन कवरेज भी यह नहीं बता सकता, क्योंकि बिना किसी असर्शन वाला टेस्ट भी हर छुई गई लाइन को जगा देता है।

◆ सिर्फ़ लाइनें नहीं, निर्णय

MC/DC और ब्रांच कवरेज दिखाते हैं कि हर निर्णय वास्तव में चला या नहीं, न कि केवल यह कि लाइन तक पहुँचा गया। जनरेट किए गए टेस्ट प्रायः सुखद रास्ता लेते हैं और हर if का दूसरा पक्ष अछूता छोड़ देते हैं — जो 100% लाइन और 50% ब्रांच कवरेज जैसा दिखता है। यही अंतर निष्कर्ष है।

◆ जिन फ़ंक्शनों को कभी बुलाया ही नहीं गया

डेड-कोड पहचान उन फ़ंक्शनों की सूची देती है जहाँ कोई टेस्ट पहुँचा ही नहीं। जनरेट किया गया सूट उन्हें अपने टेस्ट शीर्षकों में नाम देता है और कभी वहाँ नहीं पहुँचता — हरे टेस्ट रन में यह अदृश्य रहता है।

◆ सामने के बदलाव से जुड़ा हुआ

डिफ़ कवरेज केवल वही मापता है जो git बेसलाइन की तुलना में बदला है, इसलिए "टेस्ट पास हो रहे हैं" बदलकर "जो कोड आपने अभी स्वीकारा वह टेस्ट किया गया है" हो जाता है। इंसान ने लिखा हो या सहायक ने, फ़र्क नहीं पड़ता।

इनमें से कुछ भी यह सिद्ध नहीं करता कि कोई टेस्ट अच्छा है — कोई चीज़ नहीं कर सकती। यह आपको ठीक-ठीक और प्रति पंक्ति बताता है कि क्या कभी चला ही नहीं: वह हिस्सा जिसे समीक्षक अपने दिमाग़ में नहीं रख सकता और सहायक अपने आप नहीं बताएगा। Vitest, Jest या nyc के ज़रिये TypeScript और JavaScript के साथ, और उन टूलचेन द्वारा पहले से बनाए गए tracefile के ज़रिये 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 — स्वतः पहचाने गए और दर्ज उद्गम के साथ नियतात्मक रूप से मर्ज किए गए।

◆ नेटिव UI बाहर

लाइन, ब्रांच और फ़ंक्शन गटर, ओवरव्यू रूलर, एक्सप्लोरर बैज, और Covered Files व्यू।

◆ MC/DC और क्षेत्र

llvm-cov से Modified Condition/Decision Coverage, क्षेत्र और C++ इंस्टैंशिएशन कवरेज, होवर पर प्रति-निर्णय विवरण के साथ।

◆ सुरक्षा-भारित स्कोर

हर मेट्रिक पर एक भारित हार्मोनिक माध्य, जिसके भार IEC 61508 / ISO 26262 / DO-178C स्तरों के अनुरूप हैं।

◆ अनुपालन गेटिंग

प्रति-मेट्रिक थ्रेशोल्ड और strict, whm, both या either मोड के साथ COMPLIANT / NON-COMPLIANT निर्णय।

◆ डिफ कवरेज

सजावट को केवल 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 व्यू तथा VS Code के अपने Test Coverage पैनल में दिखता है। इसके बाद ट्रेसफ़ाइल बदलते ही यह अपने-आप फिर से लोड होता है।

VS Code ≥ 1.88, या Visual Studio 2022 या 2026 चाहिए — Community, Professional या Enterprise — और साथ में एक कवरेज ट्रेसफ़ाइल जो आपका प्रोजेक्ट पहले से बनाता है। Visual Studio 2022 में बिल्ट-इन कवरेज केवल Enterprise में है; Visual Studio के लिए Coverage Studio इसे Community और Professional पर भी दिखाता है, उस फ़ाइल से जो आपका बिल्ड पहले से लिखता है।

दूसरों से तुलना

VS Code खुद और कई मुफ़्त एक्सटेंशन भी कवरेज दिखाते हैं। सितंबर 2026 तक हर एक का अपना दस्तावेज़ जो कहता है, वह नीचे है — जहाँ README किसी बात का ज़िक्र नहीं करता, तालिका अनुमान लगाने के बजाय यही बताती है।

Fucini Coverage StudioVS Code, बिल्ट-इनCoverage GuttersCode Coverage (markis)Gcov Viewer
कवरेज कहाँ से आती है25 ट्रेसफ़ाइल फ़ॉर्मैट, साथ में PIT और Stryker की म्यूटेशन रिपोर्टकवरेज रिपोर्ट करने वाला टेस्टिंग एक्सटेंशनlcov और XML फ़ाइलेंlcov फ़ाइलेंGCC की .gcda फ़ाइलें, 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
हर सुविधा देखें पूर्ण उपयोगकर्ता मार्गदर्शिका