ZNAČAJKE I POSTAVKE

Sve što radi, sve što možete podesiti

Cjeloviti pregled skupa značajki i potpuna referenca konfiguracije — svaka postavka s zadanom vrijednošću.

Preuzmi VSIX

Evaluacijsko izdanje. Sve značajke u nastavku dostupne su tijekom besplatnog 14-dnevnog probnog razdoblja. Nakon probnog razdoblja licencni ključ dostupan je na zahtjev, izdaje se automatski, a ključ može omogućiti ili ograničiti pojedinačne značajke po korisniku. Zatražite licencu →

Kada je testove napisala UI

Pokrivenost naspram generiranog skupa testova

Pregled iznosi opći argument. Evo ga primijenjenog na sam popis mogućnosti, jer generirani skup testova zakazuje na prepoznatljiv način — svaki redak dotaknut, polovica odluka nikad donesena i pokoja funkcija imenovana u naslovima testova, ali nikad pozvana — a pet stavki u nastavku upravo taj oblik čini vidljivim.

  • Pokrivenost grana i MC/DC, uz opis pri prelasku mišem po svakoj grani i svakoj odluci, razdvaja redak se izvršio od odluka je iskušana. Skup testova koji ide samo sretnim putem pokazuje blizu 100% na recima i blizu 50% na granama, a upravo je taj raskorak nalaz. Zeleno izvođenje testova od toga ne pokazuje ništa.
  • Složena ocjena je harmonijska sredina, pa jaka metrika ne može prikriti slabu — a to je točno ona aritmetika koja generiranom skupu testova treba. Prosjek broja za retke i broja za grane zakopao bi jedini broj koji vrijedi pogledati.
  • Upozorenja o mrtvom kodu podižu stavku u ploči Problems za svaku funkciju s mjerljivim recima i nultom pokrivenošću. Skup testova koji funkciju imenuje u naslovu testa, a nikad do nje ne dođe, nigdje drugdje neće pasti.
  • Diff pokrivenost u odnosu na git bazni ref sve navedeno sužava na retke koji su se upravo promijenili — na kod koji ste prihvatili danas poslijepodne, a ne na prosjek cijelog života repozitorija, s kojim će velik postojeći skup testova i dalje veselo izgledati zdravo.
  • Copy Uncovered Lines ispisuje točno ono što se nikad nije izvršilo, u Markdownu — dakle nešto što se lijepi ravno natrag onom asistentu koji je taj skup testova uopće i napisao.

Ništa od ovoga ne čita test i ne prosuđuje ga, i ništa se ovdje ne smije shvatiti kao takva tvrdnja: test bez ijedne provjere ispravnosti i dalje pokriva svaki redak kojega dotakne. Ovo mjeri onaj dio koji recenzent ne može držati u glavi — koji se kod nikad nije izvršio.

Jedinstveno za ovo proširenje

Vaša pokrivenost redaka kaže 100%. 312 bajtova vaše binarne datoteke nikad nije izvršeno.

Svaka druga mjera ovdje mjeri se iz izvora: instrumentirajte kod, pokrenite instrumentiranu verziju, izbrojite što se okinulo. Pokrivenost objektnog koda mjeri nešto do čega nijedan alat na razini izvora ne može doprijeti — koliko se izgrađene binarne datoteke doista izvršilo, u bajtovima instrukcija, promatranjem toka instrukcija. Prevoditelj proizvodi kod za koji ne stoji nijedan redak vašeg izvora: provjere granica polja, tablice skokova za switch, spremanje registara, pomoćne rutine za dijeljenje ili pomični zarez. Ništa od toga ne pojavljuje se u vašem izvoru, pa nijedan alat na razini izvora — uključujući ovo proširenje, za svaku drugu mjeru koju čita — ne može reći je li se izvršilo. To je ujedno jedina mjera ovdje koja odgovara na pitanje pokriva li ovo assembler?, jer se ručno pisani assembler nikad ne instrumentira.

DO-178C to izričito imenuje: na razini A zahtijeva se uz MC/DC. Nijedno drugo proširenje za VS Code to ne čita. Kako to dobiti s ugrađenog uređaja →

Mogućnosti

Osnovno

  • Prikaz Coverage sa svakom izmjerenom datotekom, pregledno ravnalo i Annotated Source; u vlastitom rubu uređivača, prema zadanome, samo ono što vrijedi označiti — MC/DC trake, trokuti od zadnjeg izvođenja, točke uređenih redaka — a trake samo na nepokrivenim retcima ili toplinska karta broja pogodaka jednu su postavku daleko.
  • Pokrivenost po retku za naredbe, grane, funkcije, regije, MC/DC i C++ instanciranja, ovisno o tome što pruža datoteka traga.
  • Učitavanje više formata i deterministično spajanje više izvođenja sa zabilježenim podrijetlom.
  • Premapiranje putanja — putanje CI build stroja → vaš lokalni radni prostor.
  • Diferencijalna pokrivenost — dekorira samo retke promijenjene u odnosu na osnovnu git granu.
  • Explorer značke i stavka statusne trake na razini cijelog izvođenja, obojena prema kompozitnom rezultatu.
  • Način rada watch — automatsko ponovno učitavanje kada se datoteka traga promijeni.
  • Run Tests with Coverage — prepoznaje pokretač testova iz korijena radnog prostora i pokreće ga s uključenom pokrivenošću, učitavajući što zapiše.
  • Udaljene datoteke traga — unos u coverageFile.paths može biti https:// URL: CI artefakt dohvaća se uvjetno (ETag / Last-Modified), sa zaglavljima koja podesite u remote.headers, učitava kao lokalna datoteka i ponovno dohvaća po mjeraču vremena s remote.refreshMinutes; kad dohvat ne uspije, umjesto toga se učitava zadnja preuzeta kopija.
  • Varijable u putanjama — ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id} i ${config:section.key} u svakoj postavci putanje; nepoznata varijabla ostavlja se kako je napisana, pa se tipfeler pojavljuje u dnevniku otkrivanja umjesto da nestane.
  • Radni prostori s više korijena — svaka se mapa otkriva iz vlastitih postavki (njezin .vscode/settings.json ili njezin unos u .code-workspace), njezine datoteke traga spajaju se u jedno izvođenje, prikaz Coverage grupira datoteke po mapi, a dodana ili uklonjena mapa sama ponovno učitava pokrivenost.
  • Dva okidača ponovnog učitavanja više — apsolutni unos u coverageFile.paths izvan radnog prostora se ispituje, pa se datoteka koja se ondje pojavi učitava; a watch.reloadAfterTasks imenuje zadatke (npm: test) čiji završetak ponovno učitava pokrivenost, bio način rada watch uključen ili ne.
  • Napredak koji možete prekinuti — učitavanje deset ili više datoteka traga, ili 8 MB ili više njih, i svaki Generate Full HTML Report izvode se pod obaviješću o napretku s gumbom Cancel; prekid ostavlja prethodno izvođenje učitanim.
  • Vlastiti prikaz Test Coverage VS Codea — svako učitavanje objavljuje se i kroz Test Coverage API uređivača (testCoverage.publish), pa ploča pokrivenosti Test Explorera, postoci po datoteci u Exploreru i vlastiti prekidač uređivača Show Inline Coverage prikazuju iste brojeve; Show in Test Coverage View objavljuje na zahtjev i otvara ploču. S imenovanim testovima (TN: u lcovu) prikaz filtrira pokrivenost datoteke po testu.
  • Predloženo pravilo premapiranja — kad učitavanje ostavi datoteke nepodudarene (putanje kontejnera ili CI-ja naspram lokalnog checkouta), proširenje izvodi pravilo pathRemap koje objašnjava najviše njih, nudi Apply Suggested Remap na rezultatu učitavanja i Suggest Path Remap Rule u paleti; bez klika ništa se ne zapisuje.
  • Glob uzorci za zanemarivanje — fuciniCoverage.ignore (vendor/**, **/*.generated.ts) izbacuje cijele datoteke iz izvođenja pri učitavanju, pa svaki prikaz, vrata i izvoz broje bez njih; rezultat učitavanja kaže koliko, a izlaz imenuje svaku.
  • Neizmjereno naspram nepokrivenog — datoteka koju nijedan test nije učitao ne ocjenjuje se kao 0% iza vaših leđa; statusna traka za nju kaže nije izmjereno, a unmeasured.mode može takve datoteke popisati u prikazu Coverage ili svaku brojati kao nepokrivenu datoteku, uz threshold.unmeasuredFiles za vrata prema tome koliko ih ima.
  • Vidljivo što je spajanje učinilo — s više učitanih tracefileova svaki redak datoteke imenuje izvještaj iz kojeg potječu njegovi brojevi, oznaka je obrubljena gdje su ti brojevi nadjačali stariji izvještaj, svaki redak tracefilea broji koliko je njegovih datoteka nadjačano ili je nadjačalo druge, a klik na redak tracefilea ističe njegove datoteke u stablu (coverageView.mergedMarks).

Kompozitni rezultat i sukladnost

Jedinstvena ponderirana harmonijska sredina preko redaka, grana, funkcija, regija, MC/DC-a i instanciranja. Budući da je riječ o harmonijskoj sredini, slab pokazatelj ne može biti prikriven savršenim. Ponderi su prema zadanim postavkama usklađeni s razinama IEC 61508 / ISO 26262 / DO-178C, a presuda COMPLIANT / NON-COMPLIANT određena je pragovima po pokazatelju te podesivim načinom rada.

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

Analiza u uređivaču

  • CodeLens funkcije — % pokrivenosti po funkciji, klik za skok na prvi nepokriveni redak.
  • Lebdenje nad granama i MC/DC — broj uzetih/neuzetih grana po grani i raščlambe uvjeta/vektora po odluci; neobavezna obojena rubna oznaka MC/DC.
  • Upozorenja o mrtvom kodu — upozorenje u ploči Problems za funkcije s mjerljivim retcima i nultom pokrivenošću.
  • Navigacija Next/Previous Uncovered.
  • Upozorenje o nepodudaranju kad sadržaj datoteke više ne odgovara njezinu izvođenju — ažurirano pri spremanju ili promjeni na disku, s točnom razlikom pri prelasku mišem.
  • Od zadnjeg izvođenja — crveni trokut na svakom retku izvršenom u prethodnom izvođenju, a ne u ovom, zeleni za obrnuto, s preglednim ravnalom i brojem pogodaka pri prelasku mišem.
  • Uređeni međuspremnici — svaka oznaka, opis i CodeLens pomiču se s tekstom dok uređujete i povlače se s prepisanog retka, gdje siva točka kaže zašto.
  • Načini rada ruba uređivača — editorGutter.mode zadržava rub na nalazima (off), stavlja traku na svaki redak koji se nikad nije izvršio i jantarnu ondje gdje grana nikad nije uzeta (uncovered), ili dodaje topli ton na svaki izvršeni redak, to topliji što se češće izvršio (heatmap); Choose Editor Gutter Mode... prebacuje iz palete ili izbornika statusne trake.
  • Brojevi pogodaka u retku — hitCounts.inline ispisuje ×12 iza svakog retka na kojem počinje naredba, uključujući ×0; Toggle Inline Hit Counts ga uključuje i isključuje.
  • Stavke u ploči Problems po retku — problems.perLine stavlja dijagnostiku razine Information na svaki blok redaka koji se nikad nisu izvršili u otvorenom dokumentu (mrtva funkcija jedan je unos, a ne četrdeset) i po želji na svaki redak s granom koja nikad nije uzeta; unosi prate svoje retke dok uređujete.
  • Bojenje redaka i karta u kliznoj traci — lineHighlight stavlja prozirnu boju iza samih redaka umjesto (ili uz) oznaku u margini, a overviewRuler sam odlučuje o crti u kliznoj traci: s isključenom marginom to je karta praznina datoteke i ništa pokraj koda.
  • Koja je datoteka traga pokrila ovaj redak — kad je objedinjeno više izvještaja, opis s brojem izvođenja imenuje svaki koji je pokrio redak (uključujući naziv skupa iz lcov-ova TN:), a klik na redak datoteke traga u prikazu Coverage osvjetljava retke koje je ona doprinijela.
  • Crvena, jantarna i zelena — način coverage postavki editorGutter.mode i lineHighlight boji svaki izmjereni redak bojama ljestvice boja; gumb načina u statusnoj traci i Alt+G prelaze s jednog načina na sljedeći.
  • Vaše boje, s pregledom — ljestvica boja i nijanse toplinske karte (heatmap.colors, heatmap.colorsDark) su postavke, a stranica postavki prikazuje ih na svijetlom i tamnom uređivaču dok ih birate.
  • Iz kojeg izvještaja dolazi datoteka — kad dva izvještaja mjere isti kod, pravila coverageFile.sources ili Choose Coverage Source for This File... odlučuju koji od njih prikazuje svaka datoteka, umjesto da pobijedi najnoviji.

Izvještavanje i povijest

  • Generate Full HTML Report — samostalno generiran, višestranični izvještaj po direktoriju; Open Annotated Source za jednu datoteku.
  • Neobavezna lokalna povijest izvođenja s trendom pokrivenosti (▲/▼), uz Compare Two History Runs i Compare with Last Run.
  • Show Worst-Covered Files / Functions i Copy Uncovered Lines (Markdown).
  • Export Fucini JSON — potpuni normalizirani model.
  • Export Coverage Report... — isto izvođenje kao CSV (po datoteci ili po funkciji), Markdown sažetak, LCOV datoteka traga, Cobertura XML, SARIF, ili samostalan SVG bedž. S dvadeset pet čitača i ovim zapisivačima proširenje pretvara između formata: učitajte JaCoCo ili llvm-cov JSON i ispišite LCOV koji čitaju Codecov, Coveralls i SonarQube, ili Cobertura XML koji učitavaju Jenkins, GitLab i Azure DevOps.
  • Generate Coverage Badge — SVG u stilu shieldsa zapisan ravno u radni prostor (badge.outputPath, zadano coverage-badge.svg) da ga README ugradi s ![coverage](coverage-badge.svg) i bez ikakvog udaljenog servisa; badge.metric bira retke, grane, MC/DC ili kompozitni rezultat, boja prati razine colorScale.*, a badge.autoUpdate ga iznova zapisuje nakon svakog učitavanja.
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 i Pro, značajku po značajku

Dva unosa, jedna baza koda. Community je trajno besplatna razina i ono na što Pro unos slijeće nakon 14-dnevne probe; Pro i proba su sve, bez ograničenja. Granica je povučena tako da besplatna razina uvijek vidi svaki nalaz i plaća samo udobnost, dokaz i opseg — u VS Codeu Fucini Coverage: What Community Includes prikazuje isti popis s današnjim brojačima za svako ograničenje.

MogućnostCommunity (besplatno)Pro, i proba
Svih 25 formata, spajanje više datoteka, premapiranje putanja✓✓
Rubovi, pregledno ravnalo, značke Explorera, prikaz Pokrivenost, CodeLens, opisi✓✓
Način praćenja s automatskim ponovnim učitavanjem; Run Tests with Coverage✓✓
Pokrivenost diffa, povijest i trend, oznake „od zadnjeg izvođenja”✓✓
Učitavanje pokrivenosti naredbom25 dnevno (automatska učitavanja se ne broje)neograničeno
Usporedba izvođenja, Check Coverage Thresholds, Open HTML Report, Export Coverage Report, Export Fucini JSONpo 5 tjednoneograničeno
Annotated Source, na mjestu5 tjednoneograničeno, plus trajni bočni okvir i Generate Full HTML Report
Export Coverage ReportCSV (po datoteci, po funkciji)također Markdown, LCOV, Cobertura XML, SARIF, SVG značka
Datoteka koja više ne odgovara svojoj pokrivenostiprijavljena i zatamnjenatakođer redak, funkcija ili kontrolni zbroj koji je to dokazao
Preživjeli mutantioznačeni na retku, s brojemi što je svaki mutant promijenio
Testovi koji su izvršili redakkoliko ih jei njihova imena
CRAPMax CRAP izvođenja, CRAP na svakoj funkcijii rangirani popis Riskiest Methods
Risk hotspotskoliko ih je i najgori rezultattakođer rangirani popis, svaka stavka otvara svoju funkciju
MC/DC pokrivenost, trake u rubu i opis—✓
Pokrivenost objektnog koda ocijenjena i provjerenanajavljuje se samo prisutnost✓
Datoteka koju mjeri nekoliko izvještajanajnoviji izvještajtakođer odabir jednog po datoteci ili njihovo kombiniranje (agree / union)
Potrebna telemetrijane — po želji, i jednom po računalu, Unlock Full Features mijenja detaljnu telemetriju korištenja za 30 dana svega iz desnog stupcane

Tjedan traje sedam dana od prve upotrebe koja ga je otvorila, a ništa što samo čita pokrivenost ne broji se. Niste spremni za pretplatu? 7-dnevna propusnica je sve iz desnog stupca na tjedan dana, plaćeno jednom, bez ičega što bi trebalo otkazati.

VS Code i Visual Studio usporedno

Jedan proizvod, dva uređivača, jedan čitač: isti izvještaj daje iste brojke, do znamenke, u oba. Coverage Studio za Visual Studio radi na Visual Studiju 2022 i 2026 — Community, Professional i Enterprise i ne koristi vlastitu pokrivenost koda Visual Studija, koja je u 2022 samo za Enterprise; uključen je u svaki plaćeni plan, a uređaj s oba uređivača jedno je mjesto. Sve iznad crte postoji u oba; ispod nje ono za što Visual Studio nema pandana i ono što ondje tek dolazi.

MogućnostVS CodeVisual Studio
Svih 25 formata, spajanje više datoteka, premapiranje putanja, iste fuciniCoverage.* postavke i .vscode/settings.json✓✓
Rubovi, pregledno ravnalo, brojači pogodaka, leća po funkciji, lebdeći opisi, prikaz Coverage, statusna traka i njezine kartice✓✓
Način praćenja s automatskim ponovnim učitavanjem; Next Uncovered, Next Partly-Tested Decision; kopiranje kao Markdown✓✓
Složeni rezultat, pragovi i presuda COMPLIANT; MC/DC; CRAP✓✓
Getting Started, na 18 jezikavodič korak po korakstranica pod Tools → Coverage Studio
Run Tests with Coverage, Run This Test with Coverage, pokrivenost nakon svakog spremanja; vlastita ploča Test Coverage uređivača✓✓, i Collect Coverage in Test Explorer… — ploča Test Coverage je VS Code API
Značke u Exploreru✓— (Solution Explorer ne može označavati datoteke)
Annotated Source, HTML izvještaj, izvozi, Check Thresholds, Error List, povijest i trend, diff pokrivenost✓✓
Koji su testovi izvršili redak, isključivanje iz stabla i iz uređivača, perspektiva imenskih prostora i okvir za pretraživanje, sesije pokrivenosti, grafikon trenda, CI osnovica✓✓, plus Run Native Project with Coverage za C++ projekt
Besplatna razina, proba, naplata✓— (plaćeni plan; ključ se pronalazi na računalu gdje je VS Code aktiviran)

Sljedeće: sva ova pokrivenost u sustavu Azure DevOps, u besplatnom proširenju. Azure DevOps prikazuje pokrivenost na buildu samo dokle seže njegov vlastiti format — retke, a grane kao postotak. Fucini DevOps Studio prikazat će sve što Coverage Studio čita: svaki od ovih 25 formata, za svaki jezik, s MC/DC-om, uvjetima, složenim rezultatom i pragovima, kao karticu Coverage na cjevovodu koji ju je proizveo. Pratite novosti za prvo izdanje.

Referenca postavki

Konfigurirajte u sučelju postavki (pretražite Fucini Coverage) ili u 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.

Redak koji završava s Po mapi. prima vrijednost na razini mape u radnom prostoru s više korijena: svaka se mapa otkriva s vlastitim .vscode/settings.json ili unosom u .code-workspace, a ${workspaceFolder} u njemu znači tu mapu.

Lokalizacija

PostavkaZadanoŠto radi
languageautoZaključava vlastito sučelje ovog proširenja (traka stanja, obavijesti, opisi, web-prikazi licence i izvješća) na određeni jezik, neovisno o jeziku prikaza VS Codea. auto prati VS Code. Jedno od auto, en, uk, nl, de, fr, es, hr, pl, it, pt, ru, tr, he, ja, zh, hi, ko, ar. Ne mijenja stavke palete naredbi ni oznake/opise sučelja postavki — njih VS Code razrješava iz svojeg jezika prikaza.

Otkrivanje i učitavanje

PostavkaZadanoŠto radi
coverageFile.defaultLocation""Osnovna mapa za otkrivanje i dijaloge za odabir datoteka. Varijable: ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id}, ${config:section.key}. Po mapi.
coverageFile.paths[]Datoteke tragova za učitavanje i spajanje, relativno prema osnovnoj mapi, apsolutno (iste varijable kao gore) ili http(s):// URL koji se dohvaća pri svakom učitavanju — dodajte #lcov.info (ili drugo ime datoteke) kao fragment URL-a kad sam URL nema ekstenziju. Relativni glob * pretražuje rekurzivno ispod osnovne mape; i apsolutni unos može sadržavati zamjenski znak (${workspaceFolder}/build/coverage-merged/*.lcov.info, ** za bilo koju dubinu), koji se pretražuje ispod mapa prije njega. Po mapi.
watch.enabledtruePonovno učitaj pokrivenost kad se datoteka tragova promijeni — ili pojavi, za apsolutni unos izvan radnog prostora. Po mapi.
watch.reloadAfterTasks[]Imena zadataka (label ili source: name poput npm: test) čiji završetak ponovno učitava pokrivenost, bio watch.enabled uključen ili ne. Po mapi.
remote.headers[]Zaglavlja Name: value koja se šalju uz svaki dohvat URL-a; varijable se proširuju, pa Authorization: Bearer ${env:CI_TOKEN} drži token izvan settings.json. Po mapi.
remote.refreshMinutes0Ponovno dohvati URL unose svakih N minuta (uvjetni GET; 0 = samo pri učitavanju). Po mapi.
baseline.report""Izvještaj s kojim se uspoređuje svako učitano izvođenje — onaj grane main, kako ga objavljuje poslužitelj za izgradnju: URL, dohvaćen s remote.headers i predmemoriran kao URL iz coverageFile.paths, ili putanja preuzetog artefakta, apsolutna ili relativna prema mapi. Kartica u statusnoj traci tada kaže gdje ovo izvođenje stoji prema njemu, a Compare with CI Baseline navodi datoteke koje su se pomaknule. Prazno: bez osnovice. Po mapi.

Ljestvica boja i oznake

coverage: 83%

PostavkaZadanoŠto radi
colorScale.presetdefaultcolorblind mijenja crvenu, jantarnu i zelenu u cinober-crvenu, narančastu i plavu (Okabe–Ito) svugdje gdje se pokrivenost boji; boje koje ste promijenili ispod imaju prednost.
colorScale.lowColor#8b1a1aDonji kraj gradijenta pokrivenosti.
colorScale.midColor#b8860bSredišnja boja gradijenta.
colorScale.highColor#228b22Gornji kraj gradijenta (100%).
colorScale.lowThreshold80% na kojem oznaka prelazi s niske na srednju.
colorScale.highThreshold90% na kojem oznaka prelazi sa srednje na visoku (i središte gradijenta).
heatmap.colors["#fff1a8", …, "#a63603"]Pet nijansi toplinske karte na svijetloj temi, od retka koji se izvršio najrjeđe do retka koji se izvršio najčešće.
heatmap.colorsDark["#6e5f22", …, "#ff6a00"]Isto za tamnu temu, gdje svjetlije znači više.

Kompozitni rezultat (ponderirana harmonijska sredina)

PostavkaZadanoŠto radi
whmWeights.lines1Težina pokrivenosti redaka/naredbi.
whmWeights.functions1Težina pokrivenosti funkcija.
whmWeights.regions1.5Težina pokrivenosti regija (llvm-cov).
whmWeights.branches2Težina pokrivenosti grana.
whmWeights.mcdc4Težina MC/DC pokrivenosti. 0 ju isključuje.
whmWeights.instantiations0.5Težina instanciranja C++ predložaka (llvm-cov).

Pragovi i sukladnost

PostavkaZadanoŠto radi
threshold.profilestandardstandard postavlja zadane vrijednosti navedene niže; safety postavlja sva vrata na 100 osim mutacijskog rezultata; custom ostavlja ono što ste sami postavili. U zadanom profilu sigurnosne su metrike bez vrata — projekt koji ne mjeri MC/DC zbog toga ne pada.
threshold.statement80Najmanji postotak naredbi. 0 isključuje provjeru.
threshold.branch70Najmanji postotak grana.
threshold.mcdc0Najmanji postotak MC/DC.
threshold.functions80Najmanji postotak funkcija.
threshold.regions75Najmanji postotak regija (llvm-cov).
threshold.instantiations0Najmanji postotak instanciranja (llvm-cov); projekti samo u C-u se preskaču.
threshold.conditions0Najmanji postotak uvjeta.
threshold.functionCalls0Najmanji postotak poziva funkcija, ako ih izvještaj sadrži.
threshold.objectCode0Najmanji postotak objektnog koda, ako ga izvještaj sadrži.
threshold.mutation0Najmanji mutacijski rezultat, ako je učitan izvještaj o mutacijama.
threshold.weighted75Najmanji složeni rezultat.
compliance.modestrictstrict | whm | both | either.
compliance.diagnosticsfalseJedna pogreška u Problemima po nedosegnutom pragu, na datoteci traga.
threshold.unmeasuredFiles-1Najveći broj neizmjerenih datoteka (traži unmeasured.mode postavljen na list ili count). -1 ne provjerava; 0 pada na prvoj datoteci koju nijedan test nije učitao.
problems.perLineoffoff | uncovered | uncoveredAndPartial: unos razine Information (vijugava crta u uređivaču) po bloku uzastopnih nepokrivenih redaka u svakom otvorenom dokumentu, po želji plus jedan po retku s granom koja nikad nije uzeta. Neovisno o problems.enabled. Po mapi.

Diff, premapiranje i izvještaji

PostavkaZadanoŠto radi
pathRemap[]Uređene zamjene putanja {from,to}; to može koristiti ${workspaceRoot}, koji najprije pokušava vlastitu mapu datoteke traga, a zatim svaku drugu mapu radnog prostora. Kad učitavanje ostavi datoteke nepodudarene, rezultat učitavanja nudi Apply Suggested Remap s pravilom izvedenim iz nepodudarenih putanja (također Suggest Path Remap Rule u paleti); ništa se ne zapisuje dok ne kliknete. Po mapi.
ignore[]Glob uzorci za cijele datoteke koje treba izostaviti iz izvođenja (vendor/**, **/*.generated.ts, build/**) — izbacuju se pri učitavanju, pa svaki prikaz, vrata i izvoz broje bez njih. Podudaraju se s putanjom relativnom prema radnom prostoru i s apsolutnom putanjom; uzorak bez / podudara se s imenom na bilo kojoj dubini, kao .gitignore. Po mapi.
ignore.generatedtrueIzostavlja generirane .NET datoteke iz svakog zbroja, stranice i izvoza — *.Designer.cs, *.g.cs, *.g.i.cs, *.generated.cs, *.razor.g.cs, *.AssemblyInfo.cs, GlobalUsings.g.cs, Migrations/** i obj/** — prije nego što se primijeni ignore. Isključeno za projekt koji testira svoje migracije. Po mapi.
ignore.namespaces[]Imenski prostori koje treba izostaviti iz svakog zbroja i svake stranice, za .NET izvore: datoteka čija deklaracija imenskog prostora odgovara jednom od njih ne broji se. Prefiks sa * kao zamjenskim znakom — Acme.Generated, Acme.*.Migrations, *Tests. Po mapi.
ignore.attributes["ExcludeFromCodeCoverage"]Atributi koji .NET klasu, metodu ili svojstvo izuzimaju iz brojanja, pročitani iz izvora: član ispod jednog od njih isključen je kako bi ga isključio LCOV_EXCL_START/STOP, bez obzira na to koji je alat napisao izvještaj. Imena sa sufiksom Attribute ili bez njega, s imenskim prostorom ili bez njega; dodajte GeneratedCode, Obsolete ili vlastite. Po mapi.
testRun.perTestfalseRun Tests with Coverage izvodi recept dotnet test po jednu testnu klasu odjednom i svaki izvještaj označava njezinom klasom, pa opis pri prelasku mišem, CodeLens i Show Tests That Ran This Line mogu reći koji su testovi izvršili redak — sporije, i samo za .NET, čiji Cobertura izvještaj to sam ne može reći. Po mapi.
testRun.onSavefalseSpremanje izvorne datoteke pokreće testove koji je pokrivaju, s pokrivenošću, trenutak nakon spremanja: za .NET rješenje samo testni projekti koji referenciraju projekt spremljene datoteke, po jedan dotnet test svaki; svaki drugi izvoditelj cijeli svoj recept. Više spremanja jedno je izvođenje; izvođenje koje već traje ne prekida se. Po mapi.
testRun.skipWhenTestsFailfalseRun Tests with Coverage ostavlja pokrivenost na zaslonu kakva je bila kad izvoditelj završi neuspjehom, i to kaže u oknu Output — crveno izvođenje ne boji zelenu datoteku crveno. Po mapi.
unmeasured.modeoffoff | list | count: što učiniti s datotekama radnog prostora vrste koju izvođenje mjeri, a nijedan ih test nije učitao (vidi Neizmjereno naspram nepokrivenog). list ih imenuje u prikazu Coverage i rezultatu učitavanja; count uz to svaku ocjenjuje kao nepokrivenu datoteku svojih redaka koda. Promjena ponovno učitava.
unmeasured.exclude["**/*.h", "**/*.hpp", "**/*.hh", "**/*.inl", "**/*.d.ts"]Datoteke koje se nikad ne nazivaju neizmjerenima, u glob sintaksi postavke ignore — zadano datoteke samo sa zaglavljima i samo s deklaracijama. Po mapi.
hotspots.crapThreshold30Funkcija s ovim CRAP rezultatom ili višim rizično je žarište, navedeno ispod stabla prikaza Coverage, najgore prvo — 30 je brojka koju su predložili autori metrike. Samo izvještaji koji nose ciklomatsku složenost uopće ih imaju. Po mapi.
hotspots.complexityThreshold0Funkcija ovoliko složena ili složenija također je žarište, bez obzira na pokrivenost; 0 to isključuje. Po mapi.
gitDiff.enabledfalseOgraniči pokrivenost na retke promijenjene u odnosu na osnovnu referencu. Po mapi.
gitDiff.baseReforigin/masterGit osnovna referenca za diff pokrivenost. Po mapi.
externalHtmlReport.dir""Čitaj unaprijed izgrađen HTML direktorij llvm-cov show za Annotated Source. Po mapi.
htmlReport.outputDir""Izlazni direktorij za Generate Full HTML Report. Po mapi.
badge.outputPathcoverage-badge.svgKamo Generate Coverage Badge zapisuje SVG — relativno prema mapi radnog prostora ili apsolutno, s istim varijablama kao coverageFile.defaultLocation; nadređene mape se stvaraju. Po mapi.
badge.metriclineslines | branches | mcdc | weighted: broj za cijelo izvođenje na znački (weighted je kompozitni rezultat statusne trake). Bez podataka za njega → sivi n/a. Po mapi.
badge.autoUpdatefalseIznova zapiši značku nakon svakog uspješnog učitavanja, tiho (bilježi se kao [FUCINI_BADGE]). Po mapi.

Prikaz i analiza

PostavkaZadanoŠto radi
mcdcGutter.enabledfalseObojena MC/DC margina.
statusBar.enabledtruePrikaži stavke trake stanja za cijelo izvođenje i po datoteci.
statusBar.showLaunchertrueUvijek dostupan pokretač brzog izbornika.
statusBar.showModeToggletrueGumb u statusnoj traci koji imenuje način rada ruba; klik ga pomiče za jedan dalje.
codeLens.enabledtrueCodeLens pokrivenosti po funkciji.
deadCode.enabledtrueUpozori na funkcije bez pokrivenosti.
staleWarning.enabledtrueOznači datoteke čiji sadržaj više ne odgovara njihovom izvođenju.
explorerBadges.enabledfalseZnačke pokrivenosti i opis uz datoteke u Exploreru.
coverageFile.rememberPickstrueZapiši svaku odabranu datoteku u coverageFile.paths.
coverageFile.sources[]Iz kojeg učitanog izvještaja dolaze brojevi datoteke kad je mjeri više od jednog: uređena pravila { "files": glob, "report": glob }, odlučuje prvo koje odgovara. S "combine": "union" (pokriveno gdje je redak izvršio bilo koji izvještaj) ili "agree" (samo gdje je to učinio svaki izvještaj, neslaganja tirkizno) odgovarajući se izvještaji kombiniraju. Plaćeni planovi. Po mapi.
coverageFile.mergeStrategynewestZa datoteke o kojima ne odlučuje nijedno pravilo: newest (pobjeđuje posljednji zapisani izvještaj) ili order (pobjeđuje kasniji unos u coverageFile.paths, bez obzira na vremena). Po mapi.
sinceLastRun.enabledtrueOznake u rubu na retcima čija se pokrivenost promijenila od prethodnog izvođenja.
dirtyMarks.enabledtrueSiva točka u rubu na retcima uređenima otkako je izvođenje učitano.
editorGutter.modeoffoff | uncovered | coverage | heatmap: ništa osim gore navedenih nalaza, trake samo na nepokrivenim (i djelomično pokrivenim) retcima, te trake plus zelena traka na svakom pokrivenom retku, ili te trake plus topli ton na svakom izvršenom retku prema broju pogodaka. Po mapi.
lineHighlightoffoff | uncovered | coverage | heatmap: prozirna boja iza samog retka, za ono što margina označava. Vlastita postavka, da margina može ostati čista dok su praznine obojene, ili obrnuto. Po mapi.
overviewRulerfollowfollow | uncovered | off: dobivaju li nepokriveni redci crtu u pregledniku klizne trake. uncovered je crta i s isključenom marginom — karta praznina datoteke uz kliznu traku i ništa pokraj koda; off zadržava trake i uklanja crtu. Po mapi.
hitCounts.inlinefalse×N iza svakog retka na kojem počinje naredba, uključujući ×0. Po mapi.
testCoverage.publishtrueObjavi svako učitano izvođenje u vlastiti prikaz Test Coverage VS Codea (ploča Test Explorer, postoci u Exploreru, Show Inline Coverage). Isključeno: nema unosa Fucini Coverage u Test Exploreru; Show in Test Coverage View i dalje objavljuje na zahtjev.
coverageView.perspectivefoldersKoje stablo prikazuje prikaz Coverage: mape i datoteke radnog prostora ili — za .NET izvještaj koji imenuje svoje klase (Cobertura, Coverlet, OpenCover) — imenske prostore, klase i metode, svaki s vlastitim brojevima. Padajući izbornik u prikazu zapisuje ovo; nudi se samo kad izvođenje nosi imena klasa.
coverageView.mergedMarkstrueS više učitanih tracefileova: obrubiti oznaku tracefilea svake datoteke čiji su brojevi nadjačali stariji izvještaj i dopustiti da klik na redak tracefilea istakne datoteke koje je izmjerio. Isključeno: obične oznake, bez isticanja; redci tracefileova i dalje broje što je nadjačano.
excludeCommentstrueIsključi retke komentara, prazne retke i LCOV_EXCL_* te direktive predprocesora u C-u, C++-u, Objective-C-u, CUDA-i i C#-u.
excluded.includeInTotalsfalseUračunaj isključene retke u ukupne iznose.

Povijest

PostavkaZadanoŠto radi
history.enabledfalseSpremaj izvođenja lokalno radi trenda i usporedbe.
history.retention20Najveći broj pohranjenih izvođenja.

Brze radnje statusne trake

Sve zadano false osim zadnje dvije; omogućite za dodavanje odgovarajuće radnje u brzi izbornik: quickActions.compareWithLastRun, openAnnotatedSource, openAnnotatedSourceToSide, toggleAnnotatedSource, toggleWatch, worstCoveredFiles, worstCoveredFolders, worstCoveredFunctions, nextUncovered, previousUncovered, checkThresholds, copyUncoveredLines, compareHistoryRuns, exportJson, exportReport, generateBadge, showTestCoverage, chooseGutterMode, toggleInlineHitCounts.

Telemetrija

PostavkaZadanoŠto radi
telemetry.enabledfalseTelemetrija upotrebe, prema zadanome isključena. Na razini Community Unlock Full Features mijenja je za sve Pro značajke, uključujući MC/DC, na 30 dana, jednom po računalu; na plaćenu licencu ne utječe. Što se šalje, pogledajte u pravilima privatnosti. Dnevni sažetak i obavijest o uklanjanju također ovise o vlastitoj postavci VS Codea telemetry.telemetryLevel; signal o instalaciji i nekoliko malih događaja ne ovise.

Ažuriranja

PostavkaZadanoŠto radi
update.checkForUpdatestruePovremeno provjeri fucini.software i VS Code Marketplace ima li novije izdanje te ponudi instalaciju novijega.

Licenciranje

PostavkaZadanoŠto radi
license.key""Aktivacijski ključ za evaluacijsko predizdanje (niz FCK1.…). Vezan uz ovo računalo/korisnika; može imati istek i ograničenja po značajci. Vidi Evaluacija i aktivacija.