ÖZELLİKLER VE AYARLAR

Yaptığı her şey, ayarlayabileceğiniz her şey

Özellik setinin eksiksiz bir turu ve tam yapılandırma referansı — her ayar varsayılan değeriyle birlikte.

VSIX'i indir

Değerlendirme sürümü. Aşağıdaki tüm özellikler ücretsiz 14 günlük deneme boyunca kullanılabilir. Denemenin ardından istek üzerine bir lisans anahtarı verilir, otomatik olarak düzenlenir ve bir anahtar kullanıcı başına tek tek özellikleri açabilir veya sınırlayabilir. Lisans isteyin →

Testleri bir yapay zekâ yazdıysa

Üretilmiş bir test paketine karşı kapsam

Genel bakış savı genel olarak kuruyor. Burada aynı sav özellik listesinin kendisine uygulanıyor; çünkü üretilmiş bir test paketi kendine özgü bir biçimde başarısız olur — her satıra dokunulmuş, kararların yarısı hiç alınmamış ve test başlıklarında adı geçen birkaç işlev hiç çağrılmamıştır — ve aşağıdaki maddelerden beşi tam da bu biçimi görünür kılar.

  • Dal ve MC/DC kapsamı, her dal ve her karar için açılan bilgi balonuyla birlikte, satır çalıştı ile karar sınandı arasını ayırır. Yalnızca mutlu yolu yürüyen bir paket satırlarda %100'e yakın, dallarda %50'ye yakın okunur; asıl bulgu bu açıklıktır. Yemyeşil bir test koşusu bundan hiçbir şey göstermez.
  • Bileşik puan bir harmonik ortalamadır; böylece güçlü bir ölçüt zayıf olanı gizleyemez — üretilmiş bir pakete uygulanması gereken aritmetik tam da budur. Satır sayısıyla dal sayısının ortalamasını almak, bakmaya değer tek sayıyı gömerdi.
  • Ölü kod uyarıları, ölçülebilir satırları olup kapsamı sıfır olan her işlev için Problems panelinde bir kayıt açar. Bir işlevi test başlığında anıp ona hiç ulaşmayan bir paket başka hiçbir yerde hata vermez.
  • Diff kapsamı, bir git temel referansına göre yukarıdakilerin tümünü yeni değişen satırlara daraltır — bu öğleden sonra kabul ettiğiniz koda, deponun ömür boyu ortalamasına değil; o ortalamayla büyük ve mevcut bir paket keyifle sağlıklı görünmeye devam eder.
  • Copy Uncovered Lines hiç çalışmamış olanı tam olarak, Markdown biçiminde verir — yani doğrudan paketi en başta yazan asistana geri yapıştırılacak şeyi.

Bunların hiçbiri bir testi okuyup ona hüküm vermez ve buradaki hiçbir şey öyle bir iddia olarak anlaşılmamalıdır: hiç doğrulaması olmayan bir test bile dokunduğu her satırı kapsar. Ölçülen şey, bir gözden geçirenin kafasında tutamayacağı kısımdır — hangi kodun hiç çalışmadığı.

Bu eklentiye özgü

Satır kapsamınız %100 diyor. İkili dosyanızın 312 baytı hiç çalışmadı.

Buradaki diğer her ölçüt kaynaktan ölçülür: kodu enstrümante edin, enstrümante derlemeyi çalıştırın, neyin tetiklendiğini sayın. Nesne kodu kapsamı, kaynak tabanlı hiçbir aracın erişemeyeceği bir şeyi ölçer — derlenmiş ikili dosyanın ne kadarının gerçekten çalıştığını, komut baytı cinsinden, komut akışını izleyerek. Derleyici, kaynağınızın hiçbir satırının karşılığı olmayan kod üretir: dizi sınır denetimleri, switch atlama tabloları, yazmaç boşaltmaları, bölme ya da kayan nokta için çalışma zamanı yardımcı rutinleri. Bunların hiçbiri kaynağınızda görünmez, dolayısıyla kaynak tabanlı hiçbir araç — okuduğu diğer her ölçüt için bu eklenti dahil — bunun çalışıp çalışmadığını söyleyemez. Ayrıca elle yazılmış assembly hiçbir zaman enstrümante edilmediği için bu assembly'yi kapsıyor mu? sorusunu yanıtlayan buradaki tek ölçüttür.

DO-178C bunu açıkça adlandırır: A seviyesinde MC/DC'ye ek olarak gereklidir. Başka hiçbir VS Code eklentisi bunu okumaz. Bunu gömülü bir hedeften nasıl alırsınız →

Yetenekler

Temel

  • Ölçülen her dosyanın bir Kapsam görünümü, genel bakış cetveli ve Annotated Source; düzenleyicinin kendi kenar boşluğunda varsayılan olarak yalnızca işaretlemeye değer olan — MC/DC çubukları, son-çalıştırmadan-beri üçgenleri, düzenlenmiş satır noktaları — bir ayar ötede yalnızca-kapsanmayan çubuklar ya da bir isabet sayısı ısı haritası.
  • İz dosyasının sağladığına bağlı olarak satır başına ifade, dal, fonksiyon, bölge, MC/DC ve C++ örnekleme kapsamı.
  • Çok formatlı içe aktarma ve kaydedilen köken bilgisiyle birden çok çalıştırmanın deterministik birleştirilmesi.
  • Yol yeniden eşleme — CI build makinesi yolları → yerel çalışma alanınız.
  • Fark kapsamı — yalnızca bir git temel referansına göre değişen satırları süsler.
  • Bileşik puana göre renklendirilen Explorer rozetleri ve proje geneli bir durum çubuğu öğesi.
  • İzleme modu — bir iz dosyası değiştiğinde otomatik yeniden yükleme.
  • Run Tests with Coverage — test çalıştırıcısını çalışma alanı kökünden tanır ve kapsam açık olarak çalıştırıp yazdığını yükler.
  • Uzak iz dosyaları — bir coverageFile.paths girdisi bir https:// URL’si olabilir: CI yapıtı, remote.headers içinde yapılandırdığınız başlıklarla koşullu olarak (ETag / Last-Modified) indirilir, yerel bir dosya gibi yüklenir ve remote.refreshMinutes ile bir zamanlayıcıda yeniden indirilir; bir indirme başarısız olduğunda bunun yerine son indirilen kopya yüklenir.
  • Yollarda değişkenler — her yol ayarında ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id} ve ${config:section.key}; bilinmeyen bir değişken yazıldığı gibi bırakılır, böylece bir yazım hatası yok olmak yerine keşif günlüğünde görünür.
  • Çok köklü çalışma alanları — her klasör kendi ayarlarından (kendi .vscode/settings.json’ı ya da .code-workspace girdisi) keşfedilir, iz dosyaları tek bir çalıştırmada birleşir, Kapsam görünümü dosyaları klasöre göre gruplandırır ve eklenen ya da çıkarılan bir klasör kapsamı kendiliğinden yeniden yükler.
  • İki yeniden yükleme tetikleyicisi daha — çalışma alanı dışındaki mutlak bir coverageFile.paths girdisi yoklanır, böylece orada beliren bir dosya yüklenir; watch.reloadAfterTasks ise izleme modu açık olsun olmasın bitişi kapsamı yeniden yükleyen görevleri (npm: test) adlandırır.
  • İptal edebileceğiniz ilerleme — on ya da daha fazla iz dosyasının, ya da 8 MB ve üzerinin yüklenmesi ve her Generate Full HTML Report, İptal düğmeli bir ilerleme bildirimi altında çalışır; iptal etmek önceki çalıştırmayı yüklü bırakır.
  • VS Code’un kendi Test Coverage görünümü — her yükleme düzenleyicinin Test Coverage API’si üzerinden de yayımlanır (testCoverage.publish); böylece Test Explorer’ın kapsam paneli, Explorer’ın dosya başına yüzdeleri ve düzenleyicinin Show Inline Coverage anahtarı aynı sayıları gösterir; Show in Test Coverage View istek üzerine yayımlar ve paneli açar. Adlandırılmış testlerle (lcov'da TN:), görünüm bir dosyanın kapsamını teste göre filtreler.
  • Önerilen yeniden eşleme kuralı — bir yükleme dosyaları eşleşmemiş bıraktığında (yerel bir checkout’a karşı konteyner ya da CI yolları) uzantı, çoğunu açıklayan pathRemap kuralını çıkarır, yükleme sonucunda Apply Suggested Remap, palette Suggest Path Remap Rule sunar; tıklama olmadan hiçbir şey yazılmaz.
  • Yoksayma glob’ları — fuciniCoverage.ignore (vendor/**, **/*.generated.ts) bütün dosyaları yüklemede çalıştırmadan düşürür, böylece her görünüm, kapı ve dışa aktarım onlarsız sayar; yükleme sonucu kaç tane olduğunu söyler, çıktı her birini adlandırır.
  • Ölçülmemiş ile kapsanmayan — hiçbir testin yüklemediği bir dosya arkanızdan %0 olarak puanlanmaz; durum çubuğu böyle bir dosya için ölçülmedi der ve unmeasured.mode bu dosyaları Kapsam görünümünde listeleyebilir ya da her birini kapsanmayan bir dosya olarak sayabilir; kaç tane olduklarına göre kapı koymak için threshold.unmeasuredFiles vardır.
  • Birleştirmenin ne yaptığı görünür — birkaç izleme dosyası yüklüyken her dosya satırı sayılarının geldiği raporu söyler, bu sayıların daha eski bir raporu geçersiz kıldığı yerde rozet çerçevelidir, her izleme dosyası satırı kaç dosyasının geçersiz kılındığını veya başkalarını geçersiz kıldığını sayar ve bir izleme dosyası satırına tıklamak onun dosyalarını ağaçta vurgular (coverageView.mergedMarks).

Bileşik puan ve uyumluluk

Satırlar, dallar, fonksiyonlar, bölgeler, MC/DC ve örneklemeler üzerinde tek bir ağırlıklı harmonik ortalama. Harmonik ortalama olduğu için zayıf bir metrik mükemmel bir metrikle maskelenemez. Ağırlıklar varsayılan olarak IEC 61508 / ISO 26262 / DO-178C seviyelerine uygundur ve COMPLIANT / NON-COMPLIANT kararı, metrik başına eşiklere ve yapılandırılabilir bir moda göre belirlenir.

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

Editör içi analiz

  • Fonksiyon CodeLens — fonksiyon başına kapsam yüzdesi, ilk kapsanmayan satıra atlamak için tıklayın.
  • Dal ve MC/DC üzerine gelme — dal başına alınan/alınmayan sayıları ve karar başına koşul/vektör dökümleri; isteğe bağlı renkli MC/DC kenar boşluğu göstergesi.
  • Ölü kod uyarıları — ölçülebilir satırlara ve sıfır kapsama sahip fonksiyonlar için Problems panelinde uyarı.
  • Next/Previous Uncovered gezinmesi.
  • Uyuşmazlık uyarısı: bir dosyanın içeriği artık çalıştırmasına uymadığında — dosyalar kaydedildikçe ya da diskte değiştikçe güncel tutulur, üzerine gelince tam fark gösterilir.
  • Son çalıştırmadan beri — önceki çalıştırmada yürütülüp bunda yürütülmeyen her satırda kırmızı, tersi için yeşil bir üçgen; genel bakış cetveli ve üzerine gelince isabet sayılarıyla.
  • Düzenlenmiş arabellekler — her işaret, ipucu ve CodeLens siz düzenledikçe metinle birlikte kayar ve yeniden yazılmış bir satırdan çekilir; orada gri bir nokta nedenini söyler.
  • Düzenleyici kenar boşluğu kipleri — editorGutter.mode kenar boşluğunu bulgularla sınırlı tutar (off), hiç çalışmamış her satıra bir çubuk ve bir dal kolunun hiç alınmadığı yere kehribar rengi bir çubuk koyar (uncovered) ya da çalıştırılmış her satıra, ne kadar sık çalıştıysa o kadar sıcak bir ton ekler (heatmap); Choose Editor Gutter Mode... paletten ya da durum çubuğu menüsünden geçiş yapar.
  • Satır içi isabet sayıları — hitCounts.inline, bir deyimin başladığı her satırın ardına ×12 yazar, ×0 dâhil; Toggle Inline Hit Counts bunu açıp kapatır.
  • Satır başına Problems kayıtları — problems.perLine, açık bir belgede hiç çalışmamış her satır bloğuna (ölü bir işlev kırk değil, tek kayıttır) ve isteğe bağlı olarak dal kolu hiç alınmamış her satıra bir Bilgi tanısı koyar; kayıtlar siz düzenledikçe satırlarını izler.
  • Satır rengi ve kaydırma çubuğu haritası — lineHighlight kenar boşluğundaki bir işaret yerine (ya da ona ek olarak) satırların kendisinin arkasına yarı saydam bir renk koyar; overviewRuler ise kaydırma çubuğundaki şeride kendi karar verir: kenar boşluğu kapalıyken bu, dosyanın boşluklarının haritasıdır ve kodun yanında hiçbir şey yoktur.
  • Bu satırı hangi izleme dosyası kapsadı — birden çok rapor birleştirildiğinde, çalışma sayısı ipucu satırı kapsayan her raporu adlandırır (lcov’un TN: kaydındaki küme adı dâhil) ve Coverage görünümündeki bir izleme dosyası satırına tıklamak onun katkıda bulunduğu satırları aydınlatır.
  • Kırmızı, kehribar ve yeşil — editorGutter.mode ve lineHighlight ayarlarının coverage kipi, ölçülen her satırı renk ölçeğinin renkleriyle boyar; durum çubuğundaki kip düğmesi ve Alt+G bir kipten sonrakine geçer.
  • Renkleriniz, önizlemeli — renk ölçeği ve ısı haritasının tonları (heatmap.colors, heatmap.colorsDark) birer ayardır ve ayarlar sayfası onları seçildikleri anda açık ve koyu bir düzenleyicide önizler.
  • Bir dosya hangi rapordan gelir — aynı kodu ölçen iki rapor olduğunda, en yeninin kazanması yerine coverageFile.sources kuralları ya da Choose Coverage Source for This File... her dosyanın hangisini göstereceğine karar verir.

Raporlama ve geçmiş

  • Generate Full HTML Report — dizin başına, kendiliğinden oluşturulan, çok sayfalı bir rapor; tek bir dosya için Open Annotated Source.
  • Kapsam eğilimiyle (▲/▼) birlikte isteğe bağlı yerel çalıştırma geçmişi, ayrıca Compare Two History Runs ve Compare with Last Run.
  • Show Worst-Covered Files / Functions ve Copy Uncovered Lines (Markdown).
  • Export Fucini JSON — tam normalleştirilmiş model.
  • Export Coverage Report... — aynı çalıştırma; CSV (dosya ya da işlev başına), Markdown özeti, LCOV izleme dosyası, Cobertura XML, SARIF ya da kendi kendine yeten bir SVG rozeti olarak. Yirmi beş okuyucu ve bu yazıcılarla eklenti biçimler arasında dönüştürme yapar: JaCoCo ya da llvm-cov JSON yükleyin, Codecov, Coveralls ve SonarQube'un okuduğu LCOV'u ya da Jenkins, GitLab ve Azure DevOps'un aldığı Cobertura XML'i üretin.
  • Generate Coverage Badge — doğrudan çalışma alanına yazılan shields tarzı bir SVG (badge.outputPath, varsayılan coverage-badge.svg); bir README bunu ![coverage](coverage-badge.svg) ile, barındırılan hiçbir hizmet olmadan gömer; badge.metric satırları, dalları, MC/DC’yi ya da bileşik puanı seçer, renk colorScale.* katmanlarını izler ve badge.autoUpdate her yüklemeden sonra onu yeniden yazar.
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 ve Pro, özellik özellik

İki liste, tek kod tabanı. Community kalıcı olarak ücretsiz katmandır ve Pro listesinin 14 günlük denemesinden sonra indiği yerdir; Pro ve deneme her şeydir, sınırsız. Çizgi, ücretsiz katmanın her bulguyu her zaman görmesi ve yalnızca kolaylık, kanıt ve ölçek için ödemesi olacak şekilde çekilmiştir — VS Code içinde Fucini Coverage: What Community Includes aynı listeyi her sınırın bugünkü sayaçlarıyla gösterir.

YetenekCommunity (ücretsiz)Pro ve deneme
25 biçimin tümü, çok dosyalı birleştirme, yol eşleme✓✓
Kenar boşlukları, genel bakış cetveli, Gezgin rozetleri, Kapsam görünümü, CodeLens, ipuçları✓✓
Otomatik yeniden yüklemeli izleme modu; Run Tests with Coverage✓✓
Fark kapsamı, geçmiş ve eğilim, son-çalıştırmadan-beri işaretleri✓✓
Komutla kapsam yüklemegünde 25 (otomatik yüklemeler sayılmaz)sınırsız
Çalıştırmaları karşılaştırma, Check Coverage Thresholds, Open HTML Report, Export Coverage Report, Export Fucini JSONher biri haftada 5sınırsız
Annotated Source, yerindehaftada 5sınırsız, artı kalıcı bir yan bölme ve Generate Full HTML Report
Export Coverage ReportCSV (dosya başına, işlev başına)ayrıca Markdown, LCOV, Cobertura XML, SARIF, SVG rozeti
Artık kapsamıyla eşleşmeyen bir dosyabildirilir ve soluklaştırılırayrıca bunu kanıtlayan satır, işlev veya sağlama toplamı
Hayatta kalan mutantlarsatırda işaretlenir, sayısıyla birlikteayrıca her mutantın neyi değiştirdiği
Bir satırı çalıştıran testlerkaç tane olduğuayrıca adları
CRAPçalıştırmanın Max CRAP değeri, her işlevde CRAPayrıca sıralı Riskiest Methods listesi
Risk hotspotskaç tane ve en kötü puanayrıca her biri işlevini açan sıralı liste
MC/DC kapsamı, kenar boşluğu çubukları ve ipucu—✓
Nesne kodu kapsamı puanlanır ve denetleniryalnızca varlığı bildirilir✓
Birkaç raporun ölçtüğü bir dosyaen yeni raporayrıca dosya başına birini seçme ya da onları birleştirme (agree / union)
Telemetri gereklihayır — isteğe bağlı olarak ve makine başına bir kez Unlock Full Features ayrıntılı kullanım telemetrisini sağ sütundaki her şeyin 30 günüyle takas ederhayır

Bir hafta, onu başlatan ilk kullanımdan itibaren yedi gün sürer ve yalnızca kapsamı okuyan hiçbir şey sayılmaz. Aboneliğe hazır değil misiniz? 7 günlük geçiş, sağ sütundaki her şeyin bir haftalığına, tek seferlik ödemeyle ve iptal edilecek hiçbir şey olmadan sunulmasıdır.

VS Code ve Visual Studio yan yana

Bir ürün, iki düzenleyici, bir okuyucu: aynı rapor her ikisinde de basamağına kadar aynı sayıları verir. Visual Studio için Coverage Studio, Visual Studio 2022 ve 2026'da — Community, Professional ve Enterprise çalışır ve Visual Studio'nun 2022'de yalnızca Enterprise'da bulunan kendi kod kapsamını kullanmaz; her ücretli plana dahildir ve iki düzenleyicinin de bulunduğu bir cihaz tek koltuktur. Çizginin üstündeki her şey ikisinde de var; altında ise Visual Studio'nun karşılığı olmayanlar ve orada henüz gelecek olanlar.

ÖzellikVS CodeVisual Studio
25 biçimin tümü, çoklu dosya birleştirme, yol yeniden eşleme, aynı fuciniCoverage.* ayarları ve .vscode/settings.json✓✓
Oluklar, genel bakış cetveli, isabet sayıları, işlev başına lens, üzerine gelme bilgileri, Coverage görünümü, durum çubuğu ve kartları✓✓
Otomatik yeniden yüklemeli izleme modu; Next Uncovered, Next Partly-Tested Decision; Markdown olarak kopyalama✓✓
Bileşik puan, eşikler ve COMPLIANT kararı; MC/DC; CRAP✓✓
Getting Started, 18 dildebir adım adım kılavuzTools → Coverage Studio altında bir sayfa
Run Tests with Coverage, Run This Test with Coverage, her kaydetmeden sonra kapsam; düzenleyicinin kendi Test Coverage paneli✓✓, ayrıca Collect Coverage in Test Explorer… — Test Coverage paneli bir VS Code API'sidir
Gezgin rozetleri✓— (Solution Explorer dosyaları süsleyemez)
Annotated Source, HTML raporu, dışa aktarmalar, Check Thresholds, Error List, geçmiş ve eğilim, diff kapsamı✓✓
Bir satırı hangi testlerin çalıştırdığı, ağaçtan ve düzenleyiciden hariç tutma, ad alanı perspektifi ve arama kutusu, kapsam oturumları, eğilim grafiği, CI temel çizgisi✓✓, artı bir C++ projesi için Run Native Project with Coverage
Ücretsiz katman, deneme, ödeme✓— (ücretli bir plan; anahtar VS Code'un etkinleştirildiği bir makinede bulunur)

Sırada: bu kapsamın tamamı Azure DevOps'ta, ücretsiz bir uzantıda. Azure DevOps bir derlemedeki kapsamı yalnızca kendi biçiminin elverdiği kadar gösterir — satırlar ve yüzde olarak dallar. Fucini DevOps Studio, Coverage Studio'nun okuduğu her şeyi gösterecek: bu 25 biçimin her biri, her dil için, MC/DC, koşullar, bileşik puan ve eşik denetimleriyle, onu üreten işlem hattında bir Coverage sekmesi olarak. İlk sürüm için haberleri izleyin.

Ayarlar referansı

Ayarlar arayüzünde (Fucini Coverage araması yapın) veya settings.json içinde yapılandırın.

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.

Klasör başına. ile biten bir satır, çok köklü bir çalışma alanında klasör düzeyinde değer alır: her klasör kendi .vscode/settings.json’ı ya da .code-workspace girdisiyle keşfedilir ve içindeki ${workspaceFolder} o klasör demektir.

Yerelleştirme

AyarVarsayılanNe işe yarar
languageautoBu uzantının kendi çalışma zamanı arayüzünü (durum çubuğu, bildirimler, ipuçları, lisans ve rapor web görünümleri) VS Code'un genel görüntüleme dilinden bağımsız olarak belirli bir dile sabitler. auto, VS Code'u izler. Şunlardan biri: auto, en, uk, nl, de, fr, es, hr, pl, it, pt, ru, tr, he, ja, zh, hi, ko, ar. Komut paleti girdilerini veya ayarlar arayüzünün kendi etiketlerini/açıklamalarını değiştirmez — VS Code bunları kendi görüntüleme dilinden çözer.

Keşif ve yükleme

AyarVarsayılanNe işe yarar
coverageFile.defaultLocation""Keşif ve dosya seçme iletişim kutuları için temel klasör. Değişkenler: ${workspaceFolder}, ${workspaceFolderBasename}, ${userHome}, ${env:NAME}, ${command:id}, ${config:section.key}. Klasör başına.
coverageFile.paths[]Yüklenip birleştirilecek iz dosyaları; temel klasöre göreli, mutlak (yukarıdakiyle aynı değişkenler) ya da her yüklemede indirilen bir http(s):// URL’si — URL’nin kendisinde uzantı yoksa URL parçası olarak #lcov.info (ya da başka bir dosya adı) ekleyin. Göreli bir * deseni temel klasörün altında özyinelemeli arar; mutlak bir girdi de joker karakter içerebilir (${workspaceFolder}/build/coverage-merged/*.lcov.info, her derinlik için **) ve ondan önceki klasörlerin altında aranır. Klasör başına.
watch.enabledtrueBir iz dosyası değiştiğinde — ya da çalışma alanı dışındaki mutlak bir girdi için belirdiğinde — kapsamı yeniden yükle. Klasör başına.
watch.reloadAfterTasks[]Bitişi kapsamı yeniden yükleyen görev adları (label ya da npm: test gibi source: name), watch.enabled açık olsun olmasın. Klasör başına.
remote.headers[]Her URL indirmesiyle gönderilen Name: value başlıkları; değişkenler genişletilir, böylece Authorization: Bearer ${env:CI_TOKEN} belirteci settings.json’ın dışında tutar. Klasör başına.
remote.refreshMinutes0URL girdilerini her N dakikada bir yeniden indir (koşullu GET; 0 = yalnızca yüklemede). Klasör başına.
baseline.report""Yüklenen her çalıştırmanın karşısına konulacak rapor — main dalınınki, derleme sunucusunun yayımladığı hâliyle: remote.headers ile alınan ve bir coverageFile.paths URL'si gibi önbelleğe alınan bir URL ya da indirilmiş bir yapıtın yolu, mutlak ya da klasöre göreli. Durum çubuğundaki kart bu çalıştırmanın ona göre nerede durduğunu söyler; Compare with CI Baseline ise değişen dosyaları listeler. Boş: temel çizgi yok. Klasör başına.

Renk ölçeği ve rozetler

coverage: 83%

AyarVarsayılanNe işe yarar
colorScale.presetdefaultcolorblind, kapsamın renklendirildiği her yerde kırmızı, kehribar ve yeşili vermilyon, turuncu ve maviyle (Okabe–Ito) değiştirir; aşağıda değiştirdiğiniz renkler önceliklidir.
colorScale.lowColor#8b1a1aKapsam gradyanının alt ucu.
colorScale.midColor#b8860bGradyanın eksen rengi.
colorScale.highColor#228b22Gradyanın üst ucu (%100).
colorScale.lowThreshold80Rozetin düşükten ortaya geçtiği yüzde.
colorScale.highThreshold90Rozetin ortadan yükseğe geçtiği yüzde (ve gradyanın ekseni).
heatmap.colors["#fff1a8", …, "#a63603"]Açık tema için ısı haritasının beş tonu; en az çalışan satırdan en çok çalışan satıra.
heatmap.colorsDark["#6e5f22", …, "#ff6a00"]Aynısı koyu tema için; burada daha parlak, daha çok demektir.

Bileşik puan (ağırlıklı harmonik ortalama)

AyarVarsayılanNe işe yarar
whmWeights.lines1Satır/deyim kapsamının ağırlığı.
whmWeights.functions1İşlev kapsamının ağırlığı.
whmWeights.regions1.5Bölge kapsamının ağırlığı (llvm-cov).
whmWeights.branches2Dal kapsamının ağırlığı.
whmWeights.mcdc4MC/DC kapsamının ağırlığı. 0 onu dışlar.
whmWeights.instantiations0.5C++ şablon örneklemelerinin ağırlığı (llvm-cov).

Eşikler ve uyumluluk

AyarVarsayılanNe işe yarar
threshold.profilestandardstandard aşağıdaki varsayılanları belirler; safety mutasyon puanı dışında her kapıyı 100 yapar; custom ayarladıklarınızı olduğu gibi bırakır. Varsayılan profilde güvenlik ölçütleri kapısızdır — MC/DC ölçmeyen bir proje bu yüzden başarısız sayılmaz.
threshold.statement80En düşük deyim yüzdesi. 0 denetimi kapatır.
threshold.branch70En düşük dal yüzdesi.
threshold.mcdc0En düşük MC/DC yüzdesi.
threshold.functions80En düşük işlev yüzdesi.
threshold.regions75En düşük bölge yüzdesi (llvm-cov).
threshold.instantiations0En düşük örnekleme yüzdesi (llvm-cov); yalnızca C projeleri atlanır.
threshold.conditions0En düşük koşul yüzdesi.
threshold.functionCalls0En düşük işlev çağrısı yüzdesi, raporda yer aldığı yerde.
threshold.objectCode0En düşük nesne kodu yüzdesi, raporda yer aldığı yerde.
threshold.mutation0En düşük mutasyon puanı, bir mutasyon raporu yüklendiğinde.
threshold.weighted75En düşük bileşik puan.
compliance.modestrictstrict | whm | both | either.
compliance.diagnosticsfalseKarşılanmayan her eşik için Sorunlar'da bir hata, izleme dosyası üzerinde.
threshold.unmeasuredFiles-1En fazla ölçülmemiş dosya sayısı (unmeasured.mode’un list ya da count olması gerekir). -1 denetlemez; 0 hiçbir testin yüklemediği ilk dosyada başarısız olur.
problems.perLineoffoff | uncovered | uncoveredAndPartial: her açık belgede ardışık kapsanmayan satırlardan oluşan blok başına bir Bilgi kaydı (düzenleyicide dalgalı bir çizgi), isteğe bağlı olarak artı dal kolu hiç alınmamış satır başına bir tane. problems.enabled’dan bağımsızdır. Klasör başına.

Fark, yeniden eşleme ve raporlar

AyarVarsayılanNe işe yarar
pathRemap[]Sıralı {from,to} yol değiştirmeleri; to, önce iz dosyasının kendi klasörünü, sonra çalışma alanının diğer her klasörünü deneyen ${workspaceRoot}’u kullanabilir. Bir yükleme dosyaları eşleşmemiş bıraktığında yükleme sonucu, eşleşmeyen yollardan çıkarılan kuralla Apply Suggested Remap sunar (palette ayrıca Suggest Path Remap Rule); siz tıklayana kadar hiçbir şey yazılmaz. Klasör başına.
ignore[]Çalıştırmanın dışında bırakılacak bütün dosyalar için glob desenleri (vendor/**, **/*.generated.ts, build/**) — yüklemede düşürülür, böylece her görünüm, kapı ve dışa aktarım onlarsız sayar. Çalışma alanına göreli ve mutlak yolla eşleştirilir; / içermeyen bir desen, .gitignore gibi, herhangi bir derinlikteki bir adla eşleşir. Klasör başına.
ignore.generatedtrueÜretilmiş .NET dosyalarını her toplamın, sayfanın ve dışa aktarmanın dışında bırakır — *.Designer.cs, *.g.cs, *.g.i.cs, *.generated.cs, *.razor.g.cs, *.AssemblyInfo.cs, GlobalUsings.g.cs, Migrations/** ve obj/** — ignore uygulanmadan önce. Geçişlerini test eden bir proje için kapatın. Klasör başına.
ignore.namespaces[].NET kaynakları için her toplamın ve her sayfanın dışında bırakılacak ad alanları: ad alanı bildirimi bunlardan biriyle eşleşen bir dosya sayılmaz. Joker olarak * içeren bir önek — Acme.Generated, Acme.*.Migrations, *Tests. Klasör başına.
ignore.attributes["ExcludeFromCodeCoverage"]Bir .NET sınıfını, yöntemini ya da özelliğini sayımın dışına çıkaran, kaynaktan okunan öznitelikler: bunlardan birinin altındaki üye, raporu hangi araç yazmış olursa olsun, LCOV_EXCL_START/STOP nasıl hariç tutardıysa öyle hariç tutulur. Adlar Attribute sonekiyle ya da onsuz, ad alanıyla ya da onsuz; GeneratedCode, Obsolete ya da kendinizinkini ekleyin. Klasör başına.
testRun.perTestfalseRun Tests with Coverage, bir dotnet test tarifini her seferinde bir test sınıfıyla çalıştırır ve her raporu sınıfıyla etiketler; böylece üzerine gelme ipucu, CodeLens ve Show Tests That Ran This Line bir satırı hangi testlerin çalıştırdığını söyleyebilir — daha yavaştır ve yalnızca .NET içindir, çünkü onun Cobertura raporu bunu kendi başına söyleyemez. Klasör başına.
testRun.onSavefalseBir kaynak dosyayı kaydetmek, kaydettikten kısa bir süre sonra onu kapsayan testleri kapsamla çalıştırır: bir .NET çözümünde yalnızca kaydedilen dosyanın projesine başvuran test projeleri, her biri bir dotnet test; diğer her çalıştırıcı tarifinin tamamı. Birkaç kayıt tek bir çalıştırmadır; sürmekte olan bir çalıştırma kesilmez. Klasör başına.
testRun.skipWhenTestsFailfalseRun Tests with Coverage, çalıştırıcı bir hatayla çıktığında kapsamı ekranda olduğu gibi bırakır ve bunu Output bölmesinde söyler — kırmızı bir çalıştırma yeşil bir dosyayı kırmızıya boyamaz. Klasör başına.
unmeasured.modeoffoff | list | count: çalıştırmanın türünden olup hiçbir testin yüklemediği çalışma alanı dosyalarına ne yapılacağı (bkz. Ölçülmemiş ile kapsanmayan). list onları Kapsam görünümünde ve yükleme sonucunda adlandırır; count ayrıca her birini kod satırları kadar kapsanmayan bir dosya olarak puanlar. Değiştirmek yeniden yükler.
unmeasured.exclude["**/*.h", "**/*.hpp", "**/*.hh", "**/*.inl", "**/*.d.ts"]Hiçbir zaman ölçülmemiş sayılmayacak dosyalar, ignore’un glob söz dizimiyle — varsayılan olarak yalnızca başlık ve yalnızca bildirim içeren dosyalar. Klasör başına.
hotspots.crapThreshold30Bu CRAP puanına ya da daha yükseğine sahip bir işlev bir risk hotspot'tur; Coverage görünümünün ağacının altında en kötüsü başta olmak üzere listelenir — 30, metriğin yazarlarının önerdiği değerdir. Yalnızca döngüsel karmaşıklık taşıyan raporlarda bulunur. Klasör başına.
hotspots.complexityThreshold0Bu kadar ya da daha karmaşık bir işlev, kapsamı ne olursa olsun, yine bir hotspot'tur; 0 kapatır. Klasör başına.
gitDiff.enabledfalseKapsamı, bir temel referansa göre değişen satırlarla sınırla. Klasör başına.
gitDiff.baseReforigin/masterFark kapsamı için Git temel referansı. Klasör başına.
externalHtmlReport.dir""Annotated Source için önceden oluşturulmuş llvm-cov show HTML dizinini oku. Klasör başına.
htmlReport.outputDir""Generate Full HTML Report için çıktı dizini. Klasör başına.
badge.outputPathcoverage-badge.svgGenerate Coverage Badge’in SVG’yi yazdığı yer — çalışma alanı klasörüne göreli ya da mutlak, coverageFile.defaultLocation ile aynı değişkenler; üst klasörler oluşturulur. Klasör başına.
badge.metriclineslines | branches | mcdc | weighted: rozetteki çalıştırma geneli sayı (weighted, durum çubuğunun bileşik puanıdır). Verisi yoksa → gri bir n/a. Klasör başına.
badge.autoUpdatefalseHer başarılı yüklemeden sonra rozeti sessizce yeniden yaz ([FUCINI_BADGE] olarak günlüğe yazılır). Klasör başına.

Görüntüleme ve analiz

AyarVarsayılanNe işe yarar
mcdcGutter.enabledfalseRenkli MC/DC kenar şeridi.
statusBar.enabledtrueÇalıştırma geneli ve dosya başına durum çubuğu ögelerini göster.
statusBar.showLaunchertrueHer zaman erişilebilir hızlı menü başlatıcısı.
statusBar.showModeToggletrueKenar boşluğu kipini adlandıran bir durum çubuğu düğmesi; bir tıklama onu bir sonrakine geçirir.
codeLens.enabledtrueİşlev başına kapsam CodeLens’i.
deadCode.enabledtrueKapsamı sıfır olan işlevler için uyar.
staleWarning.enabledtrueİçeriği artık çalıştırmasıyla eşleşmeyen dosyaları işaretle.
explorerBadges.enabledfalseGezgin'de dosyaların yanında kapsam rozetleri ve ipucu.
coverageFile.rememberPickstrueSeçilen her dosyayı coverageFile.paths içine yaz.
coverageFile.sources[]Birden fazla rapor bir dosyayı ölçtüğünde o dosyanın sayılarının hangi yüklü rapordan geleceği: sıralı { "files": glob, "report": glob } kuralları, eşleşen ilki karar verir. "combine": "union" (herhangi bir raporun bir satırı çalıştırdığı yerde kapsanmış) ya da "agree" (yalnızca her raporun çalıştırdığı yerde, uyuşmazlıklar turkuaz) ile eşleşen raporlar birleştirilir. Ücretli planlar. Klasör başına.
coverageFile.mergeStrategynewestHiçbir kuralın karar vermediği dosyalar için: newest (en son yazılan rapor kazanır) ya da order (zamanlar ne olursa olsun coverageFile.paths içindeki sonraki girdi kazanır). Klasör başına.
sinceLastRun.enabledtrueKapsamı önceki çalıştırmadan beri değişen satırlarda kenar boşluğu işaretleri.
dirtyMarks.enabledtrueÇalıştırma yüklendiğinden beri düzenlenen satırlarda gri kenar boşluğu noktası.
editorGutter.modeoffoff | uncovered | coverage | heatmap: yukarıdaki bulguların ötesinde hiçbir şey, yalnızca kapsanmayan (ve kısmen kapsanan) satırlarda çubuklar, bunlara ek olarak kapsanan her satırda yeşil bir çubuk, ya da bunlara ek olarak çalıştırılmış her satırda isabet sayısına göre sıcak bir ton. Klasör başına.
lineHighlightoffoff | uncovered | coverage | heatmap: kenar boşluğunun işaretlediği şey için satırın kendisinin arkasında yarı saydam bir renk. Kendi ayarı: boşluklar renklendirilirken kenar boşluğu temiz kalabilir ya da tersi. Klasör başına.
overviewRulerfollowfollow | uncovered | off: kapsanmayan satırların kaydırma çubuğunun genel bakış cetvelinde şerit alıp almayacağı. uncovered onu kenar boşluğu kapalıyken de çizer — dosyanın boşluklarının kaydırma çubuğu boyunca haritası ve kodun yanında hiçbir şey; off çubukları korur, şeridi kaldırır. Klasör başına.
hitCounts.inlinefalseBir deyimin başladığı her satırın ardında ×N, ×0 dâhil. Klasör başına.
testCoverage.publishtrueYüklenen her çalıştırmayı VS Code’un kendi Test Coverage görünümüne yayımla (Test Explorer paneli, Explorer yüzdeleri, Show Inline Coverage). Kapalıyken: Test Explorer’da Fucini Coverage girdisi yok; Show in Test Coverage View istek üzerine yine yayımlar.
coverageView.perspectivefoldersCoverage görünümünün hangi ağacı göstereceği: çalışma alanının klasörleri ve dosyaları ya da — sınıflarını adlandıran bir .NET raporu için (Cobertura, Coverlet, OpenCover) — ad alanları, sınıflar ve yöntemler, her biri kendi sayılarıyla. Görünümdeki açılır liste bunu yazar; yalnızca çalıştırma sınıf adları taşıdığında sunulur.
coverageView.mergedMarkstrueBirkaç izleme dosyası yüklüyken: sayıları daha eski bir raporu geçersiz kılan her dosyanın izleme dosyası rozetini çerçevele ve bir izleme dosyası satırına tıklamanın onun ölçtüğü dosyaları vurgulamasına izin ver. Kapalı: düz rozetler, vurgu yok; izleme dosyası satırları yine de neyin geçersiz kılındığını sayar.
excludeCommentstrueYorum, boş ve LCOV_EXCL_* satırlarını ve C, C++, Objective-C, CUDA ile C# içindeki önişlemci yönergelerini dışla.
excluded.includeInTotalsfalseDışlanan satırları toplamlara dahil et.

Geçmiş

AyarVarsayılanNe işe yarar
history.enabledfalseEğilim ve karşılaştırma için çalıştırmaları yerel olarak sakla.
history.retention20Saklanacak en fazla çalıştırma sayısı.

Durum çubuğu hızlı eylemleri

Son ikisi dışında tümü varsayılan olarak false; ilgili eylemi hızlı menüye eklemek için etkinleştirin: quickActions.compareWithLastRun, openAnnotatedSource, openAnnotatedSourceToSide, toggleAnnotatedSource, toggleWatch, worstCoveredFiles, worstCoveredFolders, worstCoveredFunctions, nextUncovered, previousUncovered, checkThresholds, copyUncoveredLines, compareHistoryRuns, exportJson, exportReport, generateBadge, showTestCoverage, chooseGutterMode, toggleInlineHitCounts.

Telemetri

AyarVarsayılanNe işe yarar
telemetry.enabledfalseKullanım telemetrisi, varsayılan olarak kapalı. Community seviyesinde Unlock Full Features, bunu MC/DC dahil tüm Pro özellikleriyle 30 günlüğüne, makine başına bir kez takas eder; ücretli lisans bundan etkilenmez. Nelerin gönderildiği için gizlilik politikasına bakın. Günlük özet ve kaldırma bildirimi ayrıca VS Code'un kendi telemetry.telemetryLevel ayarına da bağlıdır; kurulum bildirimi ve birkaç küçük olay bağlı değildir.

Güncellemeler

AyarVarsayılanNe işe yarar
update.checkForUpdatestrueDüzenli olarak hem fucini.software hem de VS Code Marketplace’te daha yeni bir sürüm olup olmadığını denetler ve daha yenisini yüklemeyi önerir.

Lisanslama

AyarVarsayılanNe işe yarar
license.key""Değerlendirme ön sürümü için etkinleştirme anahtarı (bir FCK1.… dizesi). Bu makineye/kullanıcıya bağlıdır; son kullanma tarihi ve özellik başına sınırlar taşıyabilir. Bkz. Değerlendirme ve etkinleştirme.