Versione di valutazione. Tutte le funzionalità elencate sotto sono disponibili durante la prova gratuita di 14 giorni. Al termine della prova una chiave di licenza è disponibile su richiesta, emessa automaticamente, e una chiave può abilitare o limitare singole funzionalità per utente. Richiedi una licenza →
Quando i test li ha scritti unʼIA
La copertura contro una suite di test generata
La panoramica espone l'argomento generale. Eccolo applicato all'elenco delle funzionalità stesso, perché una suite generata fallisce in una forma caratteristica — ogni riga toccata, metà delle decisioni mai prese e qualche funzione nominata nei titoli dei test ma mai chiamata davvero — e cinque delle voci qui sotto sono ciò che rende visibile quella forma.
- La copertura di rami e MC/DC, con il tooltip per ciascun arco e ciascuna decisione, separa la riga è stata eseguita da la decisione è stata esercitata. Una suite che percorre solo il percorso felice segna quasi il 100% sulle righe e quasi il 50% sui rami, e proprio quello scarto è il risultato. Un'esecuzione di test tutta verde non ne mostra nulla.
- Il punteggio composito è una media armonica, così una metrica forte non può mascherarne una debole — esattamente l'aritmetica che serve a una suite generata. Fare la media del numero delle righe con quello dei rami seppellirebbe l'unico numero che vale la pena guardare.
- Gli avvisi di codice morto creano una voce nel pannello Problems per ogni funzione con righe misurabili e copertura zero. Una suite che nomina una funzione nel titolo di un test e non la raggiunge mai non fallisce da nessun'altra parte.
- La copertura del diff rispetto a un ref di base git restringe tutto quanto sopra alle righe appena cambiate — il codice che hai accettato questo pomeriggio, anziché la media di tutta la vita del repository, con cui una grande suite già esistente continuerà allegramente a sembrare in salute.
- Copy Uncovered Lines emette esattamente ciò che non è mai stato eseguito, in Markdown — cioè qualcosa da incollare dritto all'assistente che quella suite l'ha scritta in origine.
Niente di tutto questo legge un test e lo giudica, e nulla qui va inteso come una simile pretesa: un test senza alcuna asserzione copre comunque ogni riga che tocca. Ciò che si misura è la parte che un revisore non riesce a tenere a mente — quale codice non è mai stato eseguito.
Unico per questa estensione
La vostra coverage delle righe dice 100%. 312 byte del vostro binario non sono mai stati eseguiti.
Ogni altra metrica qui si misura dal sorgente: instrumentare il codice, eseguire la build instrumentata, contare cosa è scattato. La coverage del codice oggetto misura qualcosa che nessuno strumento basato sul sorgente può raggiungere — quanta parte del binario costruito è stata davvero eseguita, in byte di istruzioni, osservando il flusso di istruzioni. Un compilatore produce codice di cui nessuna riga del vostro sorgente rende conto: controlli sui limiti degli array, tabelle di salto di switch, salvataggi di registri, routine di runtime per divisione o virgola mobile. Nulla di tutto ciò appare nel vostro sorgente, quindi nessuno strumento basato sul sorgente — inclusa questa estensione, per qualsiasi altra metrica che legge — può dire se sia stato eseguito. È anche l'unica metrica qui che risponde a questo copre l'assembly?, dato che l'assembly scritto a mano non viene mai instrumentato.
DO-178C lo nomina esplicitamente: al livello A è richiesto in aggiunta a MC/DC. Nessun'altra estensione di VS Code lo legge. Come ottenerlo da un target embedded →
Capacità
Funzionalità principali
- Una vista Coverage di ogni file misurato, il righello di panoramica e Annotated Source; nel gutter dell'editor stesso, per impostazione predefinita, solo ciò che merita un segno — barre MC/DC, triangoli «dall'ultima esecuzione», puntini sulle righe modificate — con barre solo sulle righe non coperte o una mappa di calore dei conteggi a un'impostazione di distanza.
- Copertura per riga di istruzioni, rami, funzioni, regioni, MC/DC e istanziazioni C++, a seconda di ciò che fornisce il file di traccia.
- Importazione multi-formato e unione deterministica di più esecuzioni con provenienza registrata.
- Rimappatura dei percorsi — percorsi della macchina di build CI → il tuo spazio di lavoro locale.
- Coverage differenziale — decora solo le righe modificate rispetto a un riferimento base git.
- Badge Explorer e un elemento della barra di stato a livello di esecuzione, colorato in base al punteggio composito.
- Modalità watch — ricaricamento automatico quando un file di traccia cambia.
- Run Tests with Coverage — riconosce il test runner dalla radice dello spazio di lavoro e lo esegue con la copertura attiva, caricando ciò che scrive.
- Tracefile remoti — una voce di
coverageFile.pathspuò essere un URLhttps://: l'artefatto CI viene scaricato in modo condizionale (ETag / Last-Modified), con le intestazioni configurate inremote.headers, caricato come un file locale e riscaricato a intervalli conremote.refreshMinutes; quando uno scaricamento fallisce, viene caricata l'ultima copia scaricata. - Variabili nei percorsi —
${workspaceFolder},${workspaceFolderBasename},${userHome},${env:NAME},${command:id}e${config:section.key}in ogni impostazione di percorso; una variabile sconosciuta viene lasciata com'è scritta, così un errore di battitura compare nel log di rilevamento anziché sparire. - Spazi di lavoro multi-root — ogni cartella viene rilevata dalle proprie impostazioni (il suo
.vscode/settings.jsono la sua voce nel.code-workspace), i suoi tracefile si uniscono in un'unica esecuzione, la vista Coverage raggruppa i file per cartella, e una cartella aggiunta o rimossa ricarica la copertura da sola. - Due trigger di ricaricamento in più — una voce assoluta di
coverageFile.pathsfuori dallo spazio di lavoro viene sondata, così un file che compare lì viene caricato; ewatch.reloadAfterTasksnomina attività (npm: test) la cui fine ricarica la copertura, che la modalità watch sia attiva o no. - Avanzamento annullabile — un caricamento di dieci o più tracefile, o di 8 MB o più, e ogni Generate Full HTML Report girano sotto una notifica di avanzamento con un pulsante Annulla; annullare lascia caricata l'esecuzione precedente.
- La vista Test Coverage di VS Code stesso — ogni caricamento viene pubblicato anche tramite l'API Test Coverage dell'editor (
testCoverage.publish), così il pannello di copertura del Test Explorer, le percentuali per file dell'Explorer e l'interruttore Show Inline Coverage dell'editor mostrano gli stessi numeri; Show in Test Coverage View pubblica su richiesta e apre il pannello. Con test con nome (TN:in lcov), la vista filtra la copertura di un file per test. - Regola di rimappatura suggerita — quando un caricamento lascia file senza corrispondenza (percorsi di container o CI contro un checkout locale), l'estensione deduce la regola
pathRemapche ne spiega il maggior numero, offre Apply Suggested Remap sul risultato del caricamento e Suggest Path Remap Rule nella palette; nulla viene scritto senza il clic. - Glob di esclusione —
fuciniCoverage.ignore(vendor/**,**/*.generated.ts) esclude file interi dall'esecuzione al caricamento, così ogni vista, gate ed esportazione conta senza di essi; il risultato del caricamento dice quanti e l'output nomina ciascuno. - Non misurato contro non coperto — un file che nessun test ha caricato non viene valutato 0% alle tue spalle; la barra di stato dice not measured per uno di essi, e
unmeasured.modepuò elencare tali file nella vista Coverage o contare ciascuno come file non coperto, conthreshold.unmeasuredFilesper fare gate su quanti ce ne sono. - Cosa ha fatto la fusione, visibile — con più tracefile caricati, ogni riga di file nomina il report da cui vengono i suoi numeri, il badge ha un contorno dove quei numeri hanno prevalso su un report più vecchio, ogni riga di tracefile conta quanti dei suoi file sono stati sostituiti o ne hanno sostituiti altri, e un clic su una riga di tracefile evidenzia i suoi file nell’albero (
coverageView.mergedMarks).
Punteggio composito e conformità
Una singola media armonica ponderata su righe, rami, funzioni, regioni, MC/DC e istanziazioni. Essendo una media armonica, una metrica debole non può essere mascherata da una perfetta. I pesi sono allineati per impostazione predefinita ai livelli IEC 61508 / ISO 26262 / DO-178C, e il verdetto COMPLIANT / NON-COMPLIANT è determinato da soglie per metrica più una modalità configurabile.
Screenshot pending — add assets/img/statusbar.png (see SCREENSHOTS.md).Analisi nell'editor
- CodeLens di funzione — % di copertura per funzione, clicca per saltare alla prima riga non coperta.
- Hover su ramo e MC/DC — conteggi presi/non presi per ramo e dettagli condizione/vettore per decisione; indicatore di margine MC/DC colorato opzionale.
- Avvisi di codice morto — avviso nel pannello Problems per funzioni con righe misurabili e copertura pari a zero.
- Navigazione Next/Previous Uncovered.
- Avviso di discrepanza quando il contenuto di un file non si adatta più alla sua esecuzione — aggiornato al salvataggio o alla modifica su disco, con la differenza esatta al passaggio del mouse.
- Dall'ultima esecuzione — un triangolo rosso su ogni riga eseguita nell'esecuzione precedente e non in questa, uno verde per il caso inverso, con il righello panoramico e i conteggi al passaggio del mouse.
- Buffer modificati — ogni contrassegno, suggerimento e CodeLens si sposta con il testo mentre modifichi, e si ritira da una riga riscritta, dove un punto grigio dice perché.
- Modalità del gutter dell'editor —
editorGutter.modelimita il gutter ai rilievi (off), mette una barra su ogni riga mai eseguita e una ambra dove un arco di ramo non è mai stato preso (uncovered), oppure aggiunge una tinta calda su ogni riga eseguita, più intensa quanto più spesso è stata eseguita (heatmap); Choose Editor Gutter Mode... cambia modalità dalla palette o dal menu della barra di stato. - Conteggi dei colpi in linea —
hitCounts.inlinescrive×12dopo ogni riga su cui inizia un'istruzione,×0compreso; Toggle Inline Hit Counts lo alterna. - Voci per riga nel pannello Problems —
problems.perLinemette una diagnostica di tipo Information su ogni blocco di righe mai eseguite in un documento aperto (una funzione morta è una voce, non quaranta) e, facoltativamente, su ogni riga con un arco di ramo mai preso; le voci seguono le loro righe mentre modifichi. - Tinta di riga e mappa nella barra di scorrimento —
lineHighlightmette una tinta traslucida dietro le righe stesse anziché (o oltre a) un segno nel margine, eoverviewRulerdecide da solo la striscia nella barra di scorrimento: con il margine disattivato è una mappa dei vuoti del file e nulla accanto al codice. - Quale tracefile ha coperto questa riga — con più report uniti, il suggerimento con il conteggio dei passaggi nomina ognuno che ha coperto la riga (compreso il nome della suite dal
TN:di lcov), e un clic su una riga di tracefile nella vista Coverage illumina le righe che ha contribuito.
- Rosso, ambra e verde — la modalità
coveragedieditorGutter.modeelineHighlightcolora ogni riga misurata con i colori della scala cromatica; il pulsante della modalità nella barra di stato eAlt+Gpassano da una modalità alla successiva. - I tuoi colori, in anteprima — la scala cromatica e le tinte della heatmap (
heatmap.colors,heatmap.colorsDark) sono impostazioni, e la pagina delle impostazioni le mostra in anteprima su un editor chiaro e su uno scuro mentre vengono scelte. - Da quale report viene un file — con due report che misurano lo stesso codice, le regole di
coverageFile.sources, o Choose Coverage Source for This File..., decidono quale mostra ciascun file invece di far vincere il più recente.
Report e cronologia
- Generate Full HTML Report — un report auto-generato, multi-pagina, per directory; Open Annotated Source per un singolo file.
- Cronologia locale opzionale delle esecuzioni con una tendenza di coverage (▲/▼), oltre a Compare Two History Runs e Compare with Last Run.
- Show Worst-Covered Files / Functions e Copy Uncovered Lines (Markdown).
- Export Fucini JSON — il modello normalizzato completo.
- Export Coverage Report... — la stessa esecuzione come CSV (per file o per funzione), riepilogo Markdown, file di trace LCOV, XML Cobertura, SARIF, o badge SVG autonomo. Con venticinque lettori e questi scrittori l'estensione converte tra formati: caricate JaCoCo o llvm-cov JSON ed emettete l'LCOV che leggono Codecov, Coveralls e SonarQube, o l'XML Cobertura che acquisiscono Jenkins, GitLab e Azure DevOps.
- Generate Coverage Badge — un SVG in stile shields scritto direttamente nello spazio di lavoro (
badge.outputPath, predefinitocoverage-badge.svg), che un README incorpora cone nessun servizio in hosting;badge.metricsceglie righe, rami, MC/DC o il punteggio composito, il colore segue i livelli dicolorScale.*, ebadge.autoUpdatelo riscrive dopo ogni caricamento.
Screenshot pending — add assets/img/report.png (see SCREENSHOTS.md).
Screenshot pending — add assets/img/annotated-source.png (see SCREENSHOTS.md).Community e Pro, funzione per funzione
Due schede, una sola base di codice. Community è il livello gratuito per sempre, e quello su cui la scheda Pro si posa dopo la prova di 14 giorni; Pro e la prova sono tutto, senza limiti. La linea è tracciata perché il livello gratuito veda sempre ogni rilievo e paghi solo comodità, prova e scala — in VS Code, Fucini Coverage: What Community Includes mostra lo stesso elenco con i conteggi di oggi per ogni limite.
| Capacità | Community (gratuito) | Pro, e la prova |
|---|---|---|
| Tutti i 25 formati, unione di più file, rimappatura dei percorsi | ✓ | ✓ |
| Gutter, righello panoramico, badge dell'Esplora file, vista Copertura, CodeLens, suggerimenti | ✓ | ✓ |
| Modalità di monitoraggio con ricarica automatica; Run Tests with Coverage | ✓ | ✓ |
| Copertura del diff, cronologia e tendenza, contrassegni «dall'ultima esecuzione» | ✓ | ✓ |
| Caricamento della copertura da comando | 25 al giorno (i caricamenti automatici non contano) | illimitato |
| Confronto esecuzioni, Check Coverage Thresholds, Open HTML Report, Export Coverage Report, Export Fucini JSON | 5 alla settimana ciascuno | illimitato |
| Annotated Source, in loco | 5 alla settimana | illimitato, più un riquadro laterale persistente e Generate Full HTML Report |
| Export Coverage Report | CSV (per file, per funzione) | anche Markdown, LCOV, Cobertura XML, SARIF, badge SVG |
| Un file che non corrisponde più alla sua copertura | segnalato e attenuato | anche la riga, la funzione o il checksum che lo ha dimostrato |
| Mutanti sopravvissuti | contrassegnati sulla riga, con il numero | anche che cosa ha modificato ciascun mutante |
| Test che hanno eseguito una riga | quanti sono | anche i loro nomi |
| CRAP | Max CRAP dell'esecuzione, CRAP su ogni funzione | anche l'elenco in classifica Riskiest Methods |
| Risk hotspots | quanti, e il punteggio peggiore | anche l'elenco ordinato, ciascuno apre la sua funzione |
| Copertura MC/DC, barre nel gutter e suggerimento | — | ✓ |
| Copertura del codice oggetto valutata e controllata | ne viene annunciata solo la presenza | ✓ |
| Un file misurato da più report | il report più recente | anche sceglierne uno per file, o combinarli (agree / union) |
| Telemetria richiesta | no — facoltativamente, e una sola volta per macchina, Unlock Full Features scambia telemetria d'uso dettagliata con 30 giorni di tutto ciò che è nella colonna destra | no |
Una settimana dura sette giorni dal primo utilizzo che l'ha aperta, e nulla di ciò che si limita a leggere la copertura viene conteggiato. Non sei pronto per un abbonamento? Un pass di 7 giorni è tutto ciò che trovi nella colonna di destra per una settimana, pagato una volta sola, senza niente da disdire.
VS Code e Visual Studio a confronto
Un prodotto, due editor, un lettore: lo stesso report dà gli stessi numeri, alla cifra, in entrambi. Coverage Studio per Visual Studio funziona su Visual Studio 2022 e 2026 — Community, Professional ed Enterprise e non usa la code coverage propria di Visual Studio, che nel 2022 è solo per Enterprise; è incluso in ogni piano a pagamento, e un dispositivo con entrambi gli editor è un posto. Tutto ciò che sta sopra la linea è in entrambi; sotto, ciò per cui Visual Studio non ha un equivalente e ciò che lì deve ancora arrivare.
| Funzionalità | VS Code | Visual Studio |
|---|---|---|
Tutti i 25 formati, unione di più file, rimappatura dei percorsi, le stesse impostazioni fuciniCoverage.* e .vscode/settings.json | ✓ | ✓ |
| Margini, righello di panoramica, conteggi delle esecuzioni, lens per funzione, hover, la vista Coverage, la barra di stato e le sue schede | ✓ | ✓ |
| Modalità watch con ricaricamento automatico; Next Uncovered, Next Partly-Tested Decision; copia come Markdown | ✓ | ✓ |
| Punteggio composito, soglie e verdetto COMPLIANT; MC/DC; CRAP | ✓ | ✓ |
| Getting Started, in 18 lingue | un percorso guidato | una pagina sotto Tools → Coverage Studio |
| Run Tests with Coverage, Run This Test with Coverage, coverage dopo ogni salvataggio; il pannello Test Coverage dell'editor | ✓ | ✓, e Collect Coverage in Test Explorer… — il pannello Test Coverage è un'API di VS Code |
| Badge nell'Explorer | ✓ | — (Esplora soluzioni non può decorare i file) |
| Annotated Source, report HTML, esportazioni, Check Thresholds, Error List, storico e tendenza, coverage delle diff | ✓ | ✓ |
| Quali test hanno eseguito una riga, esclusione dall'albero e dall'editor, la prospettiva per namespace e la casella di ricerca, sessioni di coverage, il grafico di tendenza, la baseline CI | ✓ | ✓, più Run Native Project with Coverage per un progetto C++ |
| Livello gratuito, prova, checkout | ✓ | — (un piano a pagamento; la chiave viene trovata su una macchina dove VS Code è attivato) |
Prossimamente: tutta questa coverage in Azure DevOps, in un'estensione gratuita. Azure DevOps mostra la coverage di una build solo fin dove arriva il suo formato — righe, e rami come percentuale. Fucini DevOps Studio mostrerà tutto ciò che Coverage Studio legge: ognuno di questi 25 formati, per ogni linguaggio, con MC/DC, condizioni, il punteggio composito e i gate, come scheda Coverage sulla pipeline che l'ha prodotta. Seguite le novità per la prima release.
Riferimento impostazioni
Configura nell'interfaccia delle impostazioni (cerca Fucini Coverage) o 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.
Una riga che termina con Per cartella. accetta un valore a livello di cartella in uno spazio di lavoro multi-root: ogni cartella viene rilevata con il proprio .vscode/settings.json o con la propria voce nel .code-workspace, e ${workspaceFolder} al suo interno indica quella cartella.
Localizzazione
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
language | auto | Fissa l'interfaccia di runtime di questa estensione (barra di stato, notifiche, tooltip, webview di licenza e report) a una lingua specifica, indipendentemente dalla lingua di visualizzazione di VS Code. auto segue VS Code. Uno tra auto, en, uk, nl, de, fr, es, hr, pl, it, pt, ru, tr, he, ja, zh, hi, ko, ar. Non cambia le voci della palette dei comandi né le etichette/descrizioni dell'interfaccia delle impostazioni: quelle VS Code le risolve dalla propria lingua di visualizzazione. |
Rilevamento e caricamento
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
coverageFile.defaultLocation | "" | Cartella di base per il rilevamento e le finestre di selezione file. Variabili: ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id}, ${config:section.key}. Per cartella. |
coverageFile.paths | [] | Tracefile da caricare & unire, relativi alla cartella di base, assoluti (le stesse variabili di cui sopra), o un URL http(s):// scaricato a ogni caricamento — aggiungi #lcov.info (o un altro nome di file) come frammento dell'URL quando l'URL stesso non ha estensione. Un glob * relativo è ricorsivo sotto la cartella di base; anche una voce assoluta può contenere una wildcard (${workspaceFolder}/build/coverage-merged/*.lcov.info, ** per qualsiasi profondità), cercata sotto le cartelle che la precedono. Per cartella. |
watch.enabled | true | Ricarica la copertura quando un tracefile cambia — o compare, per una voce assoluta fuori dallo spazio di lavoro. Per cartella. |
watch.reloadAfterTasks | [] | Nomi di attività (label, o source: name come npm: test) la cui fine ricarica la copertura, che watch.enabled sia attivo o no. Per cartella. |
remote.headers | [] | Intestazioni Name: value inviate con ogni scaricamento da URL; le variabili vengono espanse, così Authorization: Bearer ${env:CI_TOKEN} tiene il token fuori da settings.json. Per cartella. |
remote.refreshMinutes | 0 | Riscarica le voci URL ogni N minuti (GET condizionale; 0 = solo al caricamento). Per cartella. |
baseline.report | "" | Il report con cui confrontare ogni esecuzione caricata — quello del ramo main, come lo pubblica il server di build: un URL, scaricato con remote.headers e messo in cache come lo è un URL di coverageFile.paths, oppure il percorso di un artefatto scaricato, assoluto o relativo alla cartella. La scheda della barra di stato dice allora dove sta questa esecuzione rispetto a esso, e Compare with CI Baseline elenca i file che si sono mossi. Vuoto: nessuna baseline. Per cartella. |
Scala di colori e badge
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
colorScale.preset | default | colorblind sostituisce rosso, ambra e verde con vermiglio, arancione e blu (Okabe–Ito) ovunque la copertura sia colorata; i colori modificati qui sotto hanno la precedenza. |
colorScale.lowColor | #8b1a1a | Estremo inferiore del gradiente di copertura. |
colorScale.midColor | #b8860b | Colore centrale del gradiente. |
colorScale.highColor | #228b22 | Estremo superiore (100%) del gradiente. |
colorScale.lowThreshold | 80 | % in cui il badge passa da basso a medio. |
colorScale.highThreshold | 90 | % in cui il badge passa da medio ad alto (e centro del gradiente). |
heatmap.colors | ["#fff1a8", …, "#a63603"] | Le cinque tinte della heatmap con un tema chiaro, dalla riga eseguita meno volte a quella eseguita più volte. |
heatmap.colorsDark | ["#6e5f22", …, "#ff6a00"] | Lo stesso per un tema scuro, dove più chiaro significa di più. |
Punteggio composito (media armonica ponderata)
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
whmWeights.lines | 1 | Peso della copertura di righe/istruzioni. |
whmWeights.functions | 1 | Peso della copertura delle funzioni. |
whmWeights.regions | 1.5 | Peso della copertura delle regioni (llvm-cov). |
whmWeights.branches | 2 | Peso della copertura dei rami. |
whmWeights.mcdc | 4 | Peso della copertura MC/DC. 0 la esclude. |
whmWeights.instantiations | 0.5 | Peso delle istanziazioni di template C++ (llvm-cov). |
Soglie e conformità
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
threshold.profile | standard | standard imposta i valori predefiniti qui sotto; safety porta ogni gate a 100 tranne il punteggio di mutazione; custom lascia invariati i valori impostati. Nel profilo predefinito le metriche di sicurezza restano senza gate — un progetto che non misura MC/DC non viene bocciato per questo. |
threshold.statement | 80 | % minima di istruzioni. 0 disattiva il controllo. |
threshold.branch | 70 | % minima di rami. |
threshold.mcdc | 0 | % minima MC/DC. |
threshold.functions | 80 | % minima di funzioni. |
threshold.regions | 75 | % minima di regioni (llvm-cov). |
threshold.instantiations | 0 | % minima di istanziazioni (llvm-cov); i progetti solo C vengono saltati. |
threshold.conditions | 0 | % minima di condizioni. |
threshold.functionCalls | 0 | % minima di chiamate di funzione, dove il report la riporta. |
threshold.objectCode | 0 | % minima di codice oggetto, dove il report la riporta. |
threshold.mutation | 0 | Punteggio di mutazione minimo, dove è caricato un report di mutazione. |
threshold.weighted | 75 | Punteggio composito minimo. |
compliance.mode | strict | strict | whm | both | either. |
compliance.diagnostics | false | Un errore in Problemi per ogni soglia non raggiunta, sul tracefile. |
threshold.unmeasuredFiles | -1 | Numero massimo di file non misurati (richiede unmeasured.mode impostato su list o count). -1 non controlla; 0 fallisce al primo file che nessun test ha caricato. |
problems.perLine | off | off | uncovered | uncoveredAndPartial: una voce di tipo Information (una sottolineatura ondulata nell'editor) per ogni blocco di righe non coperte consecutive in ciascun documento aperto, facoltativamente più una per ogni riga con un arco di ramo mai preso. Indipendente da problems.enabled. Per cartella. |
Diff, rimappatura e report
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
pathRemap | [] | Riscritture di percorsi {from,to}, in ordine; to può usare ${workspaceRoot}, che prova prima la cartella del tracefile stesso e poi ogni altra cartella dello spazio di lavoro. Quando un caricamento lascia file senza corrispondenza, il risultato del caricamento offre Apply Suggested Remap con la regola dedotta dai percorsi senza corrispondenza (anche Suggest Path Remap Rule nella palette); nulla viene scritto finché non ci clicchi. Per cartella. |
ignore | [] | Pattern glob dei file interi da lasciare fuori dall'esecuzione (vendor/**, **/*.generated.ts, build/**) — esclusi al caricamento, così ogni vista, gate ed esportazione conta senza di essi. Confrontati con il percorso relativo allo spazio di lavoro e con quello assoluto; un pattern senza / corrisponde a un nome a qualsiasi profondità, come .gitignore. Per cartella. |
ignore.generated | true | Lascia i file .NET generati fuori da ogni totale, pagina ed esportazione — *.Designer.cs, *.g.cs, *.g.i.cs, *.generated.cs, *.razor.g.cs, *.AssemblyInfo.cs, GlobalUsings.g.cs, Migrations/** e obj/** — prima che venga applicato ignore. Da disattivare per un progetto che testa le sue migrazioni. Per cartella. |
ignore.namespaces | [] | Namespace da lasciare fuori da ogni totale e da ogni pagina, per i sorgenti .NET: un file la cui dichiarazione di namespace corrisponde a uno di questi non viene contato. Un prefisso con * come jolly — Acme.Generated, Acme.*.Migrations, *Tests. Per cartella. |
ignore.attributes | ["ExcludeFromCodeCoverage"] | Attributi che tolgono dal conteggio una classe, un metodo o una proprietà .NET, letti dal sorgente: il membro sotto uno di questi è escluso come lo escluderebbero LCOV_EXCL_START/STOP, qualunque strumento abbia scritto il report. Nomi con o senza il suffisso Attribute, con o senza namespace; aggiungete GeneratedCode, Obsolete o i vostri. Per cartella. |
testRun.perTest | false | Run Tests with Coverage esegue una ricetta dotnet test una classe di test alla volta e contrassegna ogni report con la sua classe, così l'hover, il CodeLens e Show Tests That Ran This Line possono dire quali test hanno eseguito una riga — più lento, e solo per .NET, il cui report Cobertura da solo non sa dirlo. Per cartella. |
testRun.onSave | false | Salvare un sorgente esegue i test che lo coprono, con la coverage, un istante dopo il salvataggio: per una soluzione .NET solo i progetti di test che referenziano il progetto del file salvato, un dotnet test ciascuno; qualunque altro runner la sua ricetta intera. Più salvataggi sono una sola esecuzione; un'esecuzione già in corso non viene interrotta. Per cartella. |
testRun.skipWhenTestsFail | false | Run Tests with Coverage lascia la coverage sullo schermo com'era quando il runner esce con un errore, e lo dice nel riquadro Output — un'esecuzione in rosso non colora di rosso un file verde. Per cartella. |
unmeasured.mode | off | off | list | count: cosa fare dei file dello spazio di lavoro del tipo dell'esecuzione che nessun test ha caricato (vedi Non misurato contro non coperto). list li nomina nella vista Coverage e nel risultato del caricamento; count valuta inoltre ciascuno come file non coperto per le sue righe di codice. Cambiarlo ricarica. |
unmeasured.exclude | ["**/*.h", "**/*.hpp", "**/*.hh", "**/*.inl", "**/*.d.ts"] | File mai detti non misurati, nella sintassi glob di ignore — per impostazione predefinita i file di sole intestazioni e di sole dichiarazioni. Per cartella. |
hotspots.crapThreshold | 30 | Una funzione con questo punteggio CRAP o superiore è un risk hotspot, elencato sotto l'albero della vista Coverage, dal peggiore in poi — 30 è la cifra proposta dagli autori della metrica. Solo i report che riportano la complessità ciclomatica ne hanno. Per cartella. |
hotspots.complexityThreshold | 0 | Anche una funzione così complessa o più è un hotspot, qualunque sia la sua coverage; 0 lo disattiva. Per cartella. |
gitDiff.enabled | false | Limita la copertura alle righe modificate rispetto a un riferimento di base. Per cartella. |
gitDiff.baseRef | origin/master | Riferimento Git di base per la copertura del diff. Per cartella. |
externalHtmlReport.dir | "" | Legge una directory HTML llvm-cov show già generata per Annotated Source. Per cartella. |
htmlReport.outputDir | "" | Directory di output per Generate Full HTML Report. Per cartella. |
badge.outputPath | coverage-badge.svg | Dove Generate Coverage Badge scrive l'SVG — relativo alla cartella dello spazio di lavoro o assoluto, stesse variabili di coverageFile.defaultLocation; le cartelle superiori vengono create. Per cartella. |
badge.metric | lines | lines | branches | mcdc | weighted: il numero a livello di esecuzione sul badge (weighted è il punteggio composito della barra di stato). Senza dati per esso → un n/a grigio. Per cartella. |
badge.autoUpdate | false | Riscrive il badge dopo ogni caricamento riuscito, in silenzio (registrato come [FUCINI_BADGE]). Per cartella. |
Visualizzazione e analisi
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
mcdcGutter.enabled | false | Margine MC/DC colorato. |
statusBar.enabled | true | Mostra elementi della barra di stato per l’intera esecuzione e per file. |
statusBar.showLauncher | true | Avvio del menu rapido sempre disponibile. |
statusBar.showModeToggle | true | Un pulsante nella barra di stato che indica la modalità del gutter; un clic la fa avanzare di uno. |
codeLens.enabled | true | CodeLens di copertura per funzione. |
deadCode.enabled | true | Avvisa sulle funzioni senza copertura. |
staleWarning.enabled | true | Contrassegna i file il cui contenuto non corrisponde più alla loro esecuzione. |
explorerBadges.enabled | false | Badge di copertura e suggerimento accanto ai file nell'Esplora file. |
coverageFile.rememberPicks | true | Scrivi ogni file scelto in coverageFile.paths. |
coverageFile.sources | [] | Da quale report caricato vengono i numeri di un file quando più di uno lo misura: regole ordinate { "files": glob, "report": glob }, e decide la prima che corrisponde. Con "combine": "union" (coperta dove un qualsiasi report ha eseguito una riga) o "agree" (solo dove l’ha fatto ogni report, le discordanze in verde acqua) i report corrispondenti vengono combinati. Piani a pagamento. Per cartella. |
coverageFile.mergeStrategy | newest | Per i file che nessuna regola decide: newest (vince il report scritto per ultimo) oppure order (vince la voce successiva in coverageFile.paths, a prescindere dagli orari). Per cartella. |
sinceLastRun.enabled | true | Contrassegni nel gutter sulle righe la cui copertura è cambiata dall'esecuzione precedente. |
dirtyMarks.enabled | true | Punto grigio nel gutter sulle righe modificate dal caricamento dell'esecuzione. |
editorGutter.mode | off | off | uncovered | coverage | heatmap: nulla oltre ai rilievi di cui sopra, barre solo sulle righe non coperte (e parzialmente coperte), quelle più una barra verde su ogni riga coperta, oppure quelle più una tinta calda su ogni riga eseguita in base al conteggio dei colpi. Per cartella. |
lineHighlight | off | off | uncovered | coverage | heatmap: una tinta traslucida dietro la riga stessa, per ciò che il margine segna. Un’impostazione a sé, così il margine può restare pulito mentre i vuoti sono colorati, o viceversa. Per cartella. |
overviewRuler | follow | follow | uncovered | off: se le righe non coperte ricevono una striscia nel righello di panoramica della barra di scorrimento. uncovered la disegna anche con il margine disattivato — una mappa dei vuoti del file lungo la barra di scorrimento e nulla accanto al codice; off mantiene le barre e toglie la striscia. Per cartella. |
hitCounts.inline | false | ×N dopo ogni riga su cui inizia un'istruzione, ×0 compreso. Per cartella. |
testCoverage.publish | true | Pubblica ogni esecuzione caricata nella vista Test Coverage di VS Code stesso (pannello Test Explorer, percentuali nell'Explorer, Show Inline Coverage). Disattivato: nessuna voce Fucini Coverage nel Test Explorer; Show in Test Coverage View pubblica comunque su richiesta. |
coverageView.perspective | folders | Quale albero mostra la vista Coverage: le cartelle e i file dello spazio di lavoro, oppure — per un report .NET che nomina le sue classi (Cobertura, Coverlet, OpenCover) — namespace, classi e metodi, ciascuno con i propri numeri. Lo scrive il menu a discesa nella vista; viene offerto solo quando l'esecuzione porta con sé i nomi delle classi. |
coverageView.mergedMarks | true | Con più tracefile caricati: contornare il badge di tracefile di ogni file i cui numeri hanno prevalso su un report più vecchio, e lasciare che un clic su una riga di tracefile evidenzi i file che ha misurato. Disattivato: badge semplici, nessuna evidenziazione; le righe dei tracefile contano comunque cosa è stato sostituito. |
excludeComments | true | Esclude righe di commento, vuote & LCOV_EXCL_*, e le direttive del preprocessore in C, C++, Objective-C, CUDA e C#. |
excluded.includeInTotals | false | Conta le righe escluse nei totali. |
Cronologia
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
history.enabled | false | Memorizza le esecuzioni in locale per trend e confronto. |
history.retention | 20 | Numero massimo di esecuzioni conservate. |
Azioni rapide della barra di stato
Tutte impostate su false per impostazione predefinita tranne le ultime due; abilita per aggiungere l'azione corrispondente al menu rapido: quickActions.compareWithLastRun, openAnnotatedSource, openAnnotatedSourceToSide, toggleAnnotatedSource, toggleWatch, worstCoveredFiles, worstCoveredFolders, worstCoveredFunctions, nextUncovered, previousUncovered, checkThresholds, copyUncoveredLines, compareHistoryRuns, exportJson, exportReport, generateBadge, showTestCoverage, chooseGutterMode, toggleInlineHitCounts.
Telemetria
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
telemetry.enabled | false | Telemetria d'uso, disattivata per impostazione predefinita. Sul livello Community, Unlock Full Features la scambia con tutte le funzionalità Pro, MC/DC compresa, per 30 giorni, una sola volta per macchina; una licenza a pagamento non ne risente. Vedi l'informativa sulla privacy per sapere cosa viene inviato. Il riepilogo giornaliero e l'avviso di rimozione dipendono inoltre dall'impostazione telemetry.telemetryLevel di VS Code; l'avviso di installazione e alcuni piccoli eventi no. |
Aggiornamenti
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
update.checkForUpdates | true | Controlla periodicamente fucini.software e il Marketplace di VS Code e propone di installare la versione più recente. |
Licenze
| Impostazione | Predefinito | Cosa fa |
|---|---|---|
license.key | "" | Chiave di attivazione per la pre-release di valutazione (una stringa FCK1.…). Legata a questa macchina/utente; può avere una scadenza e limiti per funzionalità. Vedi Valutazione e attivazione. |