FUNCTIES EN INSTELLINGEN

Alles wat het doet, alles wat je kunt afstemmen

Een volledig overzicht van de functieset en de complete configuratiereferentie — elke instelling met de bijbehorende standaardwaarde.

Download de VSIX

Evaluatierelease. Elke functie hieronder is beschikbaar tijdens de gratis proefperiode van 14 dagen. Na de proefperiode is een licentiesleutel op aanvraag beschikbaar, automatisch uitgegeven, en een sleutel kan afzonderlijke functies per gebruiker inschakelen of beperken. Een licentie aanvragen →

Als een AI de tests schreef

Coverage tegenover een gegenereerde testsuite

Het overzicht maakt het algemene punt. Hier staat het tegenover de functielijst zelf, want een gegenereerde suite faalt in een herkenbare vorm — elke regel aangeraakt, de helft van de beslissingen nooit genomen, en een paar functies die in de testtitels staan maar nooit worden aangeroepen — en vijf van de dingen hieronder maken juist die vorm zichtbaar.

  • Branch- en MC/DC-dekking, met de hover per tak en per beslissing, scheiden de regel liep van de beslissing is uitgeoefend. Een suite die alleen het gelukkige pad loopt leest bijna 100% op regels en bijna 50% op branches, en juist dat verschil is de bevinding. Een groene testrun laat er niets van zien.
  • De samengestelde score is een harmonisch gemiddelde, zodat een sterke metriek een zwakke niet kan maskeren — precies de rekenkunde die een gegenereerde suite nodig heeft. Het regelgetal met het branchgetal middelen zou juist het ene getal begraven dat de moeite waard is.
  • Dode-code-waarschuwingen zetten een melding in het Problems-paneel voor elke functie met meetbare regels en nul dekking. Een suite die een functie in een testtitel noemt en er nooit komt, faalt nergens anders.
  • Diff-dekking tegen een git-basisref versmalt al het bovenstaande tot de regels die net zijn veranderd — de code die je vanmiddag hebt geaccepteerd, in plaats van het levenslange gemiddelde van de repository, waarmee een grote bestaande suite er vrolijk gezond uit blijft zien.
  • Copy Uncovered Lines geeft precies wat nooit is uitgevoerd, als Markdown — een plak-actie rechtstreeks terug naar de assistent die de suite in de eerste plaats schreef.

Niets hiervan leest een test en velt er een oordeel over, en niets hier moet worden opgevat als die claim: een test met helemaal geen assertions dekt nog steeds elke regel die hij aanraakt. Wat deze dingen meten is het deel dat een reviewer niet in zijn hoofd kan houden — welke code nooit is uitgevoerd.

Uniek voor deze extensie

Je regeldekking zegt 100%. 312 bytes van je binary hebben nooit gedraaid.

Elke andere metriek hier wordt uit de bron gemeten: instrumenteer de code, draai de geïnstrumenteerde build, tel wat afging. Objectcode-dekking meet iets waar geen brongebaseerd hulpmiddel bij kan — hoeveel van de gebouwde binary daadwerkelijk heeft gedraaid, in instructiebytes, door de instructiestroom te observeren. Een compiler stoot code uit die door geen enkele regel van je bron wordt verantwoord: array-grenscontroles, switch-sprongtabellen, registerspills, runtime-hulproutines voor deling of drijvende komma. Niets daarvan verschijnt in je bron, dus geen brongebaseerd hulpmiddel — inclusief deze extensie zelf, voor elke andere metriek die ze leest — kan je zeggen of het draaide. Het is ook de enige metriek hier die de vraag dekt dit assembly? beantwoordt, aangezien handgeschreven assembly nooit wordt geïnstrumenteerd.

DO-178C benoemt dit expliciet: op niveau A is het vereist naast MC/DC. Geen andere VS Code-extensie leest het. Hoe je dit van een embedded target krijgt →

Mogelijkheden

Kern

  • Een Coverage-weergave van elk gemeten bestand, de overzichtsliniaal en Annotated Source; in de eigen gutter van de editor standaard alleen wat een markering waard is — MC/DC-balken, driehoeken sinds de vorige run, stippen op bewerkte regels — met balken op alleen ongedekte regels of een heatmap van trefferaantallen op één instelling afstand.
  • Dekking per regel voor statements, branches, functies, regio's, MC/DC en C++-instantiaties, afhankelijk van wat het tracefile levert.
  • Inlezen van meerdere formaten en deterministisch samenvoegen van meerdere runs met vastgelegde herkomst.
  • Padherschrijving — paden van de CI-buildmachine → je lokale werkruimte.
  • Diff-dekking — markeert alleen regels die zijn gewijzigd ten opzichte van een git-basisreferentie.
  • Explorer-badges en een statusbalk-item voor de hele run, met kleurcodering op basis van de samengestelde score.
  • Watch-modus — automatisch opnieuw laden wanneer een tracefile wijzigt.
  • Run Tests with Coverage — herkent de testrunner aan de werkruimtemap en draait hem met dekking aan, en laadt wat hij schrijft.
  • Externe tracefiles — een item in coverageFile.paths mag een https://-URL zijn: het CI-artefact wordt conditioneel opgehaald (ETag / Last-Modified), met de headers die je in remote.headers instelt, geladen als een lokaal bestand, en op een timer opnieuw opgehaald met remote.refreshMinutes; wanneer het ophalen mislukt, wordt in plaats daarvan de laatst gedownloade kopie geladen.
  • Variabelen in paden — ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id} en ${config:section.key} in elke padinstelling; een onbekende variabele blijft staan zoals geschreven, zodat een typfout in het detectielog verschijnt in plaats van te verdwijnen.
  • Multi-root-werkruimten — elke map wordt gedetecteerd vanuit haar eigen instellingen (haar .vscode/settings.json of haar item in het .code-workspace), haar tracefiles worden tot één run samengevoegd, de Coverage-weergave groepeert de bestanden per map, en een toegevoegde of verwijderde map laadt de dekking vanzelf opnieuw.
  • Twee extra herlaadtriggers — een absoluut item in coverageFile.paths buiten de werkruimte wordt gepeild, zodat een bestand dat daar verschijnt wordt geladen; en watch.reloadAfterTasks noemt taken (npm: test) waarvan het einde de dekking opnieuw laadt, of de watch-modus nu aanstaat of niet.
  • Voortgang die je kunt annuleren — een lading van tien of meer tracefiles, of van 8 MB of meer, en elke Generate Full HTML Report draaien onder een voortgangsmelding met een knop Annuleren; annuleren laat de vorige run geladen.
  • De eigen Test Coverage-weergave van VS Code — elke lading wordt ook gepubliceerd via de Test Coverage-API van de editor (testCoverage.publish), zodat het dekkingspaneel van de Test Explorer, de percentages per bestand in de Verkenner en de eigen schakelaar Show Inline Coverage van de editor dezelfde cijfers tonen; Show in Test Coverage View publiceert op verzoek en opent het paneel. Met benoemde tests (TN: in lcov) filtert de weergave de dekking van een bestand per test.
  • Voorgestelde herschrijfregel — wanneer een lading bestanden zonder overeenkomst achterlaat (container- of CI-paden tegenover een lokale checkout), leidt de extensie de pathRemap-regel af die de meeste ervan verklaart, en biedt Apply Suggested Remap aan op het laadresultaat en Suggest Path Remap Rule in het palet; zonder de klik wordt er niets geschreven.
  • Ignore-globs — fuciniCoverage.ignore (vendor/**, **/*.generated.ts) laat hele bestanden bij het laden uit de run vallen, zodat elke weergave, poort en export zonder ze telt; het laadresultaat zegt hoeveel en de uitvoer noemt ze elk.
  • Ongemeten tegenover ongedekt — een bestand dat geen test heeft geladen wordt niet achter je rug als 0% gescoord; de statusbalk zegt not measured voor zo’n bestand, en unmeasured.mode kan zulke bestanden in de Coverage-weergave opsommen of elk als een ongedekt bestand meetellen, met threshold.unmeasuredFiles om te bewaken hoeveel het er zijn.
  • Zichtbaar wat het samenvoegen heeft gedaan — met meerdere tracefiles geladen noemt elke bestandsrij het rapport waaruit haar cijfers komen, is de badge omrand waar die cijfers een ouder rapport hebben overstemd, telt elke tracefile-rij hoeveel van haar bestanden zijn overstemd of andere hebben overstemd, en licht een klik op een tracefile-rij haar bestanden in de boom op (coverageView.mergedMarks).

Samengestelde score en compliance

Eén enkel gewogen harmonisch gemiddelde over regels, branches, functies, regio's, MC/DC en instantiaties. Omdat het een harmonisch gemiddelde is, kan een zwakke metriek niet worden gemaskeerd door een perfecte. De gewichten zijn standaard afgestemd op niveaus volgens IEC 61508 / ISO 26262 / DO-178C, en het oordeel COMPLIANT / NON-COMPLIANT wordt bepaald door drempelwaarden per metriek plus een instelbare modus.

The status-bar hover card: NON-COMPLIANT, 3 of 5 gates below threshold — functions and regions pass, lines and branches miss narrowly (amber), MC/DC misses outright (red)Screenshot pending — add assets/img/statusbar.png (see SCREENSHOTS.md).

Analyse in de editor

  • Function CodeLens — dekkingspercentage per functie, klik om naar de eerste niet-gedekte regel te springen.
  • Branch- en MC/DC-hover — aantallen genomen/niet-genomen per tak en conditie-/vectoroverzichten per beslissing; optionele gekleurde MC/DC-marge in de gutter.
  • Waarschuwingen voor dode code — waarschuwing in het Problems-paneel voor functies met meetbare regels en nul dekking.
  • Navigatie Next/Previous Uncovered (volgende/vorige niet-gedekte regel).
  • Afwijkingswaarschuwing wanneer de inhoud van een bestand niet meer past bij zijn run — bijgehouden terwijl bestanden worden opgeslagen of op schijf veranderen, met het exacte verschil bij aanwijzen.
  • Sinds de vorige run — een rode driehoek op elke regel die in de vorige run werd uitgevoerd en in deze niet, een groene voor het omgekeerde, met de overzichtsliniaal en de raakaantallen bij aanwijzen.
  • Bewerkte buffers — elke markering, hover en CodeLens beweegt mee met de tekst terwijl je bewerkt, en verdwijnt van een herschreven regel, waar een grijs puntje zegt waarom.
  • Guttermodi in de editor — editorGutter.mode houdt de gutter bij bevindingen (off), zet een balk op elke regel die nooit liep en een amberkleurige waar een tak nooit is genomen (uncovered), of voegt een warme tint toe op elke uitgevoerde regel, heter naarmate hij vaker liep (heatmap); Choose Editor Gutter Mode... schakelt vanuit het palet of het statusbalkmenu.
  • Inline trefferaantallen — hitCounts.inline schrijft ×12 achter elke regel waarop een statement begint, ×0 inbegrepen; Toggle Inline Hit Counts schakelt het om.
  • Problems-items per regel — problems.perLine zet een Information-diagnose op elk blok regels dat nooit liep in een open document (een dode functie is één item, niet veertig), en optioneel op elke regel met een tak die nooit is genomen; de items volgen hun regels terwijl je bewerkt.
  • Regelkleur en kaart in de schuifbalk — lineHighlight legt een doorschijnende kleur achter de regels zelf in plaats van (of naast) een teken in de gutter, en overviewRuler beslist zelf over het streepje in de schuifbalk: met de gutter uit is dat een kaart van de gaten in het bestand langs de schuifbalk en verder niets naast de code.
  • Welk tracefile dekte deze regel — met meerdere samengevoegde rapporten noemt de tooltip met het trefferaantal elk rapport dat de regel dekte (inclusief de suitenaam uit TN: in lcov), en een klik op een tracefile-rij in het Coverage-paneel licht de regels op die het bijdroeg.
  • Rood, amber en groen — de modus coverage van editorGutter.mode en lineHighlight kleurt elke gemeten regel in de kleuren van de kleurschaal; de modusknop in de statusbalk en Alt+G gaan van de ene modus naar de volgende.
  • Je eigen kleuren, met voorbeeld — de kleurschaal en de tinten van de heatmap (heatmap.colors, heatmap.colorsDark) zijn instellingen, en de instellingenpagina toont ze op een lichte en een donkere editor terwijl je ze kiest.
  • Uit welk rapport een bestand komt — met twee rapporten die dezelfde code meten, bepalen regels in coverageFile.sources, of Choose Coverage Source for This File..., welk rapport elk bestand toont, in plaats van dat het nieuwste wint.

Rapportage en geschiedenis

  • Generate Full HTML Report — een zelf gerenderd, meerpagina's rapport per map; Open Annotated Source voor een enkel bestand.
  • Optionele lokale rungeschiedenis met een dekkingstrend (▲/▼), plus Compare Two History Runs en Compare with Last Run.
  • Show Worst-Covered Files / Functions en Copy Uncovered Lines (Markdown).
  • Export Fucini JSON — het volledige genormaliseerde model.
  • Export Coverage Report... — dezelfde uitvoering als CSV (per bestand of per functie), een Markdown-samenvatting, een LCOV-tracebestand, Cobertura-XML, SARIF, of een zelfstandige SVG-badge. Met vijfentwintig lezers en deze schrijvers converteert de extensie tussen formaten: laad JaCoCo of llvm-cov JSON en schrijf de LCOV weg die Codecov, Coveralls en SonarQube lezen, of de Cobertura-XML die Jenkins, GitLab en Azure DevOps inlezen.
  • Generate Coverage Badge — een SVG in shields-stijl, rechtstreeks naar de werkruimte geschreven (badge.outputPath, standaard coverage-badge.svg), zodat een README hem kan insluiten met ![coverage](coverage-badge.svg) en zonder gehoste dienst; badge.metric kiest regels, takken, MC/DC of de samengestelde score, de kleur volgt de colorScale.*-niveaus, en badge.autoUpdate schrijft hem na elke lading opnieuw.
Generated multi-page HTML coverage reportScreenshot pending — add assets/img/report.png (see SCREENSHOTS.md).
The report’s annotated page for src/calc.c: per-line hit counts, a fully covered function, an uncovered else branch, a 1/2 partial branch, an MC/DC expansion and a never-called functionScreenshot pending — add assets/img/annotated-source.png (see SCREENSHOTS.md).

Community en Pro, functie voor functie

Twee vermeldingen, één codebase. Community is de permanent gratis laag, en waar de Pro-vermelding na haar proefperiode van 14 dagen op uitkomt; Pro en de proefperiode zijn alles, onbeperkt. De grens is zo getrokken dat de gratis laag elke bevinding altijd ziet en alleen betaalt voor gemak, bewijs en schaal — in VS Code toont Fucini Coverage: What Community Includes dezelfde lijst met de tellers van vandaag per limiet.

MogelijkheidCommunity (gratis)Pro, en de proefperiode
Alle 25 formaten, samenvoegen van meerdere bestanden, padtoewijzing✓✓
Gutters, overzichtsliniaal, Verkenner-badges, Dekkingsweergave, CodeLens, hovers✓✓
Bewakingsmodus met automatisch herladen; Run Tests with Coverage✓✓
Diff-dekking, geschiedenis en trend, sinds-vorige-run-markeringen✓✓
Dekking laden via de opdracht25 per dag (automatische ladingen tellen niet mee)onbeperkt
Runs vergelijken, Check Coverage Thresholds, Open HTML Report, Export Coverage Report, Export Fucini JSONelk 5 per weekonbeperkt
Annotated Source, op dezelfde plek5 per weekonbeperkt, plus een blijvend zijpaneel en Generate Full HTML Report
Export Coverage ReportCSV (per bestand, per functie)ook Markdown, LCOV, Cobertura XML, SARIF, SVG-badge
Een bestand dat niet meer overeenkomt met zijn dekkinggemeld en gedimdook de regel, functie of checksum die het bewees
Overlevende mutantengemarkeerd op de regel, met het aantalook wat elke mutant heeft gewijzigd
Tests die een regel hebben uitgevoerdhoeveelook hun namen
CRAPMax CRAP van de run, CRAP bij elke functieook de gerangschikte lijst Riskiest Methods
Risk hotspotshoeveel, en de slechtste scoreook de gerangschikte lijst, waarvan elk item zijn functie opent
MC/DC-dekking, gutterbalken en hover—✓
Objectcodedekking gescoord en gecontroleerdalleen de aanwezigheid wordt gemeld✓
Een bestand dat door meerdere rapporten wordt gemetenhet nieuwste rapportook er per bestand één kiezen, of ze combineren (agree / union)
Telemetrie vereistnee — optioneel, en eenmaal per machine, ruilt Unlock Full Features gedetailleerde gebruikstelemetrie voor 30 dagen van alles in de rechterkolomnee

Een week loopt zeven dagen vanaf het eerste gebruik waarmee hij begon, en niets dat alleen coverage leest wordt geteld. Nog niet toe aan een abonnement? Een 7-dagenpas is alles uit de rechterkolom voor één week, één keer betaald, zonder dat je iets hoeft op te zeggen.

VS Code en Visual Studio naast elkaar

Eén product, twee editors, één lezer: hetzelfde rapport geeft in beide dezelfde cijfers, tot op het cijfer. Coverage Studio voor Visual Studio draait op Visual Studio 2022 en 2026 — Community, Professional en Enterprise en gebruikt de eigen code coverage van Visual Studio niet, die in 2022 alleen voor Enterprise is; hij is inbegrepen bij elk betaald plan, en een apparaat met beide editors is één seat. Alles boven de lijn zit in beide; eronder staat waar Visual Studio geen tegenhanger voor heeft, en wat daar nog komt.

MogelijkheidVS CodeVisual Studio
Alle 25 formaten, samenvoegen van meerdere bestanden, pad-remapping, dezelfde fuciniCoverage.*-instellingen en .vscode/settings.json✓✓
Gutters, overzichtsliniaal, hit counts, lens per functie, hovers, de Coverage-weergave, de statusbalk en zijn kaarten✓✓
Watch-modus met automatisch herladen; Next Uncovered, Next Partly-Tested Decision; kopiëren als Markdown✓✓
Samengestelde score, drempels en het COMPLIANT-oordeel; MC/DC; CRAP✓✓
Getting Started, in 18 taleneen walkthrougheen pagina onder Tools → Coverage Studio
Run Tests with Coverage, Run This Test with Coverage, coverage na elke keer opslaan; het eigen Test Coverage-paneel van de editor✓✓, en Collect Coverage in Test Explorer… — het Test Coverage-paneel is een VS Code-API
Explorer-badges✓— (Solution Explorer kan bestanden niet decoreren)
Annotated Source, HTML-rapport, exports, Check Thresholds, Error List, geschiedenis en trend, diff-coverage✓✓
Welke tests een regel hebben uitgevoerd, uitsluiten uit de boom en uit de editor, het namespace-perspectief en het zoekvak, coverage-sessies, de trendgrafiek, de CI-baseline✓✓, plus Run Native Project with Coverage voor een C++-project
Gratis laag, proefperiode, checkout✓— (een betaald plan; de sleutel wordt gevonden op een machine waar VS Code geactiveerd is)

Hierna: al deze dekking in Azure DevOps, als gratis extensie. Azure DevOps toont dekking op een build alleen zover zijn eigen formaat reikt — regels, en takken als een percentage. Fucini DevOps Studio zal alles tonen wat Coverage Studio leest: elk van deze 25 formaten, voor elke taal, met MC/DC, condities, de samengestelde score en de gates, als een Coverage-tabblad op de pipeline die het maakte. Volg het nieuws voor de eerste release.

Instellingenreferentie

Configureer via de Settings-UI (zoek op Fucini Coverage) of in settings.json.

Download the complete settings reference — a commented settings.json holding every fuciniCoverage.* setting at the same default the packaged extension uses, ready to copy into your workspace or user settings. Regenerated from the extension on every release, so it cannot drift from what the VSIX ships.

Een rij die eindigt op Per map. neemt in een multi-root-werkruimte een waarde op mapniveau aan: elke map wordt gedetecteerd met haar eigen .vscode/settings.json of haar item in het .code-workspace, en ${workspaceFolder} daarin betekent die map.

Lokalisatie

InstellingStandaardWat het doet
languageautoZet de eigen runtime-interface van deze extensie (statusbalk, meldingen, tooltips, licentie- en rapportwebviews) vast op één taal, los van de algemene weergavetaal van VS Code. auto volgt VS Code. Een van auto, en, uk, nl, de, fr, es, hr, pl, it, pt, ru, tr, he, ja, zh, hi, ko, ar. Verandert niet de items in het opdrachtenpalet of de labels/beschrijvingen in de instellingen-UI — die haalt VS Code uit zijn eigen weergavetaal.

Detectie en laden

InstellingStandaardWat het doet
coverageFile.defaultLocation""Basismap voor detectie en bestandsdialogen. Variabelen: ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id}, ${config:section.key}. Per map.
coverageFile.paths[]Tracefile(s) om te laden & samen te voegen, relatief aan de basismap, absoluut (dezelfde variabelen als hierboven), of een http(s)://-URL die bij elke lading wordt opgehaald — voeg #lcov.info (of een andere bestandsnaam) als URL-fragment toe wanneer de URL zelf geen extensie heeft. Een relatieve *-glob zoekt recursief onder de basismap; een absoluut item mag ook een jokerteken bevatten (${workspaceFolder}/build/coverage-merged/*.lcov.info, ** voor elke diepte), gezocht onder de mappen ervóór. Per map.
watch.enabledtrueCoverage opnieuw laden wanneer een tracefile verandert — of verschijnt, voor een absoluut item buiten de werkruimte. Per map.
watch.reloadAfterTasks[]Taaknamen (label, of source: name zoals npm: test) waarvan het einde de dekking opnieuw laadt, of watch.enabled nu aanstaat of niet. Per map.
remote.headers[]Name: value-headers die bij elke URL-ophaalactie worden meegestuurd; variabelen worden uitgebreid, dus Authorization: Bearer ${env:CI_TOKEN} houdt het token uit settings.json. Per map.
remote.refreshMinutes0URL-items elke N minuten opnieuw ophalen (conditionele GET; 0 = alleen bij het laden). Per map.
baseline.report""Het rapport waartegen elke geladen run wordt gehouden — dat van de main-branch, zoals de buildserver het publiceert: een URL, opgehaald met remote.headers en gecachet zoals een coverageFile.paths-URL, of het pad van een gedownload artefact, absoluut of relatief aan de map. De kaart van de statusbalk zegt dan waar deze run ertegenover staat, en Compare with CI Baseline somt de bestanden op die bewogen. Leeg: geen baseline. Per map.

Kleurenschaal en badges

coverage: 83%

InstellingStandaardWat het doet
colorScale.presetdefaultcolorblind vervangt rood, amber en groen door vermiljoen, oranje en blauw (Okabe–Ito) overal waar dekking gekleurd wordt; kleuren die je hieronder hebt gewijzigd, gaan voor.
colorScale.lowColor#8b1a1aOnderkant van het coverage-verloop.
colorScale.midColor#b8860bDraaipuntkleur van het verloop.
colorScale.highColor#228b22Bovenkant (100%) van het verloop.
colorScale.lowThreshold80% waarbij de badge van laag naar midden springt.
colorScale.highThreshold90% waarbij de badge van midden naar hoog springt (en het draaipunt van het verloop).
heatmap.colors["#fff1a8", …, "#a63603"]De vijf tinten van de heatmap in een licht thema, van de regel die het minst liep tot de regel die het meest liep.
heatmap.colorsDark["#6e5f22", …, "#ff6a00"]Hetzelfde voor een donker thema, waar helderder meer betekent.

Samengestelde score (gewogen harmonisch gemiddelde)

InstellingStandaardWat het doet
whmWeights.lines1Gewicht voor regel-/statementdekking.
whmWeights.functions1Gewicht voor functiedekking.
whmWeights.regions1.5Gewicht voor regiodekking (llvm-cov).
whmWeights.branches2Gewicht voor takdekking.
whmWeights.mcdc4Gewicht voor MC/DC-dekking. 0 sluit het uit.
whmWeights.instantiations0.5Gewicht voor C++-template-instantiaties (llvm-cov).

Drempelwaarden en compliance

InstellingStandaardWat het doet
threshold.profilestandardstandard zet de standaardwaarden hieronder; safety zet elke poort op 100 behalve de mutatiescore; custom laat staan wat u zelf hebt ingesteld. In het standaardprofiel hebben de veiligheidsmetrieken geen poort — een project dat geen MC/DC meet, zakt daar niet op.
threshold.statement80Minimaal statement-%. 0 schakelt de poort uit.
threshold.branch70Minimaal tak-%.
threshold.mcdc0Minimaal MC/DC-%.
threshold.functions80Minimaal functie-%.
threshold.regions75Minimaal regio-% (llvm-cov).
threshold.instantiations0Minimaal instantiatie-% (llvm-cov); projecten met alleen C worden overgeslagen.
threshold.conditions0Minimaal conditie-%.
threshold.functionCalls0Minimaal functieaanroep-%, waar het rapport dat meelevert.
threshold.objectCode0Minimaal objectcode-%, waar het rapport dat meelevert.
threshold.mutation0Minimale mutatiescore, waar een mutatierapport is geladen.
threshold.weighted75Minimale samengestelde score.
compliance.modestrictstrict | whm | both | either.
compliance.diagnosticsfalseEén fout in Problemen per falende drempel, op het tracebestand.
threshold.unmeasuredFiles-1Maximaal aantal ongemeten bestanden (vereist unmeasured.mode op list of count). -1 controleert niet; 0 faalt bij het eerste bestand dat geen test heeft geladen.
problems.perLineoffoff | uncovered | uncoveredAndPartial: een Information-item (een kronkellijn in de editor) per blok opeenvolgende ongedekte regels in elk open document, optioneel plus één per regel met een tak die nooit is genomen. Onafhankelijk van problems.enabled. Per map.

Diff, padherschrijving en rapporten

InstellingStandaardWat het doet
pathRemap[]Geordende {from,to}-padherschrijvingen; to mag ${workspaceRoot} gebruiken, dat eerst de eigen map van de tracefile probeert en daarna elke andere map van de werkruimte. Wanneer een lading bestanden zonder overeenkomst achterlaat, biedt het laadresultaat Apply Suggested Remap aan met de regel die uit de niet-overeenkomende paden is afgeleid (ook Suggest Path Remap Rule in het palet); er wordt niets geschreven totdat je erop klikt. Per map.
ignore[]Glob-patronen voor hele bestanden die uit de run moeten blijven (vendor/**, **/*.generated.ts, build/**) — weggelaten bij het laden, zodat elke weergave, poort en export zonder ze telt. Vergeleken met het werkruimte-relatieve en het absolute pad; een patroon zonder / komt overeen met een naam op elke diepte, net als .gitignore. Per map.
ignore.generatedtrueGegenereerde .NET-bestanden buiten elk totaal, elke pagina en elke export laten — *.Designer.cs, *.g.cs, *.g.i.cs, *.generated.cs, *.razor.g.cs, *.AssemblyInfo.cs, GlobalUsings.g.cs, Migrations/** en obj/** — voordat ignore wordt toegepast. Uit voor een project dat zijn migraties test. Per map.
ignore.namespaces[]Namespaces die buiten elk totaal en elke pagina blijven, voor .NET-bronnen: een bestand waarvan de namespace-declaratie op een ervan past, wordt niet meegeteld. Een prefix met * als jokerteken — Acme.Generated, Acme.*.Migrations, *Tests. Per map.
ignore.attributes["ExcludeFromCodeCoverage"]Attributen die een .NET-klasse, -methode of -property uit de telling halen, gelezen uit de broncode: het lid onder een ervan wordt uitgesloten zoals LCOV_EXCL_START/STOP het zouden uitsluiten, welk gereedschap het rapport ook schreef. Namen met of zonder het achtervoegsel Attribute, met of zonder namespace; voeg GeneratedCode, Obsolete of je eigen toe. Per map.
testRun.perTestfalseRun Tests with Coverage draait een dotnet test-recept één testklasse tegelijk en labelt elk rapport met zijn klasse, zodat de hover, de CodeLens en Show Tests That Ran This Line kunnen zeggen welke tests een regel hebben uitgevoerd — trager, en alleen voor .NET, waarvan het Cobertura-rapport het zelf niet kan zeggen. Per map.
testRun.onSavefalseEen bronbestand opslaan draait even na het opslaan de tests die het dekken, met dekking: voor een .NET-solution alleen de testprojecten die naar het project van het opgeslagen bestand verwijzen, één dotnet test elk; elke andere runner zijn hele recept. Meerdere keren opslaan is één run; een run die al bezig is, wordt niet onderbroken. Per map.
testRun.skipWhenTestsFailfalseRun Tests with Coverage laat de dekking op het scherm zoals ze was wanneer de runner met een fout eindigt, en zegt dat in het Output-paneel — een rode run kleurt geen groen bestand rood. Per map.
unmeasured.modeoffoff | list | count: wat er gebeurt met werkruimtebestanden van de soort van de run die geen test heeft geladen (zie Ongemeten tegenover ongedekt). list noemt ze in de Coverage-weergave en het laadresultaat; count scoort elk ervan bovendien als een ongedekt bestand ter grootte van zijn coderegels. Wijzigen laadt opnieuw.
unmeasured.exclude["**/*.h", "**/*.hpp", "**/*.hh", "**/*.inl", "**/*.d.ts"]Bestanden die nooit ongemeten worden genoemd, in de glob-syntaxis van ignore — standaard bestanden met alleen headers en alleen declaraties. Per map.
hotspots.crapThreshold30Een functie met deze CRAP-score of hoger is een risk hotspot, opgesomd onder de boom van de Coverage-weergave, de ergste eerst — 30 is het getal dat de auteurs van de metriek voorstelden. Alleen rapporten die cyclomatische complexiteit bevatten hebben er. Per map.
hotspots.complexityThreshold0Een functie die zo complex is of complexer is ook een hotspot, wat haar dekking ook is; 0 zet het uit. Per map.
gitDiff.enabledfalseBeperk coverage tot regels die zijn gewijzigd ten opzichte van een basisreferentie. Per map.
gitDiff.baseReforigin/masterGit-basisreferentie voor diff-coverage. Per map.
externalHtmlReport.dir""Lees een vooraf gebouwde llvm-cov show-HTML-map voor Annotated Source. Per map.
htmlReport.outputDir""Uitvoermap voor Generate Full HTML Report. Per map.
badge.outputPathcoverage-badge.svgWaar Generate Coverage Badge de SVG schrijft — relatief aan de werkruimtemap of absoluut, dezelfde variabelen als coverageFile.defaultLocation; bovenliggende mappen worden aangemaakt. Per map.
badge.metriclineslines | branches | mcdc | weighted: het run-brede getal op de badge (weighted is de samengestelde score van de statusbalk). Geen gegevens ervoor → een grijze n/a. Per map.
badge.autoUpdatefalseDe badge na elke geslaagde lading stilzwijgend opnieuw schrijven (gelogd als [FUCINI_BADGE]). Per map.

Weergave en analyse

InstellingStandaardWat het doet
mcdcGutter.enabledfalseGekleurde MC/DC-kantlijn.
statusBar.enabledtrueToon statusbalkitems voor de hele run en per bestand.
statusBar.showLaunchertrueAltijd beschikbare snelmenu-knop.
statusBar.showModeToggletrueEen knop in de statusbalk die de guttermodus noemt; een klik zet hem één stap verder.
codeLens.enabledtrueCodeLens met dekking per functie.
deadCode.enabledtrueWaarschuwen bij functies zonder dekking.
staleWarning.enabledtrueMarkeer bestanden waarvan de inhoud niet meer overeenkomt met hun run.
explorerBadges.enabledfalseDekkingsbadges en tooltip naast bestanden in de Verkenner.
coverageFile.rememberPickstrueSchrijf elk gekozen bestand naar coverageFile.paths.
coverageFile.sources[]Uit welk geladen rapport de cijfers van een bestand komen wanneer meer dan één rapport het meet: geordende regels { "files": glob, "report": glob }, waarbij de eerste die overeenkomt beslist. Met "combine": "union" (gedekt waar een willekeurig rapport een regel uitvoerde) of "agree" (alleen waar elk rapport dat deed, verschillen in blauwgroen) worden de overeenkomende rapporten gecombineerd. Betaalde edities. Per map.
coverageFile.mergeStrategynewestVoor bestanden waarover geen regel beslist: newest (het laatst geschreven rapport wint) of order (de latere vermelding in coverageFile.paths wint, ongeacht de tijden). Per map.
sinceLastRun.enabledtrueGuttermarkeringen op regels waarvan de dekking sinds de vorige run veranderde.
dirtyMarks.enabledtrueGrijs gutterpuntje op regels die zijn bewerkt sinds de run werd geladen.
editorGutter.modeoffoff | uncovered | coverage | heatmap: niets buiten de bevindingen hierboven, balken alleen op ongedekte (en gedeeltelijk gedekte) regels, die plus een groene balk op elke gedekte regel, of die plus een warme tint op elke uitgevoerde regel naar trefferaantal. Per map.
lineHighlightoffoff | uncovered | coverage | heatmap: een doorschijnende kleur achter de regel zelf, voor wat de gutter markeert. Een eigen instelling, zodat de gutter schoon kan blijven terwijl de gaten gekleurd worden, of andersom. Per map.
overviewRulerfollowfollow | uncovered | off: of niet-gedekte regels een streepje krijgen in de overzichtsliniaal van de schuifbalk. uncovered tekent het ook met de gutter uit — een kaart van de gaten in het bestand langs de schuifbalk en niets naast de code; off behoudt de balken en laat het streepje weg. Per map.
hitCounts.inlinefalse×N achter elke regel waarop een statement begint, ×0 inbegrepen. Per map.
testCoverage.publishtrueElke geladen run publiceren naar de eigen Test Coverage-weergave van VS Code (Test Explorer-paneel, percentages in de Verkenner, Show Inline Coverage). Uit: geen Fucini Coverage-item in de Test Explorer; Show in Test Coverage View publiceert nog steeds op verzoek.
coverageView.perspectivefoldersWelke boom de Coverage-weergave toont: de mappen en bestanden van de werkruimte, of — voor een .NET-rapport dat zijn klassen noemt (Cobertura, Coverlet, OpenCover) — namespaces, klassen en methoden, elk met eigen cijfers. De dropdown in de weergave schrijft dit; hij wordt alleen aangeboden wanneer de run klassenamen bevat.
coverageView.mergedMarkstrueMet meerdere tracefiles geladen: de tracefile-badge omranden van elk bestand waarvan de cijfers een ouder rapport hebben overstemd, en een klik op een tracefile-rij de bestanden laten oplichten die ze heeft gemeten. Uit: gewone badges, geen markering; de tracefile-rijen tellen nog steeds wat is overstemd.
excludeCommentstrueSluit commentaar-, lege en LCOV_EXCL_*-regels uit, en preprocessordirectieven in C, C++, Objective-C, CUDA en C#.
excluded.includeInTotalsfalseUitgesloten regels meetellen in de totalen.

Geschiedenis

InstellingStandaardWat het doet
history.enabledfalseRuns lokaal opslaan voor trend en vergelijking.
history.retention20Maximaal aantal bewaarde runs.

Snelle acties in de statusbalk

Allemaal standaard op false behalve de laatste twee; schakel in om de bijbehorende actie aan het snelmenu toe te voegen: quickActions.compareWithLastRun, openAnnotatedSource, openAnnotatedSourceToSide, toggleAnnotatedSource, toggleWatch, worstCoveredFiles, worstCoveredFolders, worstCoveredFunctions, nextUncovered, previousUncovered, checkThresholds, copyUncoveredLines, compareHistoryRuns, exportJson, exportReport, generateBadge, showTestCoverage, chooseGutterMode, toggleInlineHitCounts.

Telemetrie

InstellingStandaardWat het doet
telemetry.enabledfalseGebruikstelemetrie, standaard uit. Op het Community-niveau ruilt Unlock Full Features die in voor elke Pro-functie, MC/DC inbegrepen, gedurende 30 dagen, één keer per machine; een betaalde licentie wordt er niet door beïnvloed. Zie het privacybeleid voor wat er wordt verstuurd. De dagelijkse samenvatting en de verwijdermelding zijn ook afhankelijk van de eigen telemetry.telemetryLevel van VS Code; de installatieping en een paar kleine gebeurtenissen niet.

Updates

InstellingStandaardWat het doet
update.checkForUpdatestruePeriodiek zowel fucini.software als de VS Code Marketplace controleren op een nieuwere release en aanbieden de nieuwste te installeren.

Licentiëring

InstellingStandaardWat het doet
license.key""Activatiesleutel voor de evaluatie-pre-release (een FCK1.…-tekenreeks). Gebonden aan deze machine/gebruiker; kan een vervaldatum en limieten per functie hebben. Zie Evaluatie en activering.