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.pathsgirdisi birhttps://URL’si olabilir: CI yapıtı,remote.headersiçinde yapılandırdığınız başlıklarla koşullu olarak (ETag / Last-Modified) indirilir, yerel bir dosya gibi yüklenir veremote.refreshMinutesile 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-workspacegirdisi) 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.pathsgirdisi yoklanır, böylece orada beliren bir dosya yüklenir;watch.reloadAfterTasksise 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'daTN:), 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
pathRemapkuralı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.modebu 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çinthreshold.unmeasuredFilesvardı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.
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.modekenar 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×12yazar,×0dâ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ı —
lineHighlightkenar boşluğundaki bir işaret yerine (ya da ona ek olarak) satırların kendisinin arkasına yarı saydam bir renk koyar;overviewRulerise 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.modevelineHighlightayarlarınıncoveragekipi, ölçülen her satırı renk ölçeğinin renkleriyle boyar; durum çubuğundaki kip düğmesi veAlt+Gbir 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.sourceskuralları 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ılancoverage-badge.svg); bir README bunuile, barındırılan hiçbir hizmet olmadan gömer;badge.metricsatırları, dalları, MC/DC’yi ya da bileşik puanı seçer, renkcolorScale.*katmanlarını izler vebadge.autoUpdateher yüklemeden sonra onu yeniden yazar.
Screenshot pending — add assets/img/report.png (see SCREENSHOTS.md).
Screenshot 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.
| Yetenek | Community (ü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ükleme | gü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 JSON | her biri haftada 5 | sınırsız |
| Annotated Source, yerinde | haftada 5 | sınırsız, artı kalıcı bir yan bölme ve Generate Full HTML Report |
| Export Coverage Report | CSV (dosya başına, işlev başına) | ayrıca Markdown, LCOV, Cobertura XML, SARIF, SVG rozeti |
| Artık kapsamıyla eşleşmeyen bir dosya | bildirilir ve soluklaştırılır | ayrıca bunu kanıtlayan satır, işlev veya sağlama toplamı |
| Hayatta kalan mutantlar | satırda işaretlenir, sayısıyla birlikte | ayrıca her mutantın neyi değiştirdiği |
| Bir satırı çalıştıran testler | kaç tane olduğu | ayrıca adları |
| CRAP | çalıştırmanın Max CRAP değeri, her işlevde CRAP | ayrıca sıralı Riskiest Methods listesi |
| Risk hotspots | kaç tane ve en kötü puan | ayrı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 denetlenir | yalnızca varlığı bildirilir | ✓ |
| Birkaç raporun ölçtüğü bir dosya | en yeni rapor | ayrıca dosya başına birini seçme ya da onları birleştirme (agree / union) |
| Telemetri gerekli | hayı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 eder | hayı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.
| Özellik | VS Code | Visual 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 dilde | bir adım adım kılavuz | Tools → 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
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
language | auto | Bu 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
| Ayar | Varsayılan | Ne 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.enabled | true | Bir 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.refreshMinutes | 0 | URL 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
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
colorScale.preset | default | colorblind, 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 | #8b1a1a | Kapsam gradyanının alt ucu. |
colorScale.midColor | #b8860b | Gradyanın eksen rengi. |
colorScale.highColor | #228b22 | Gradyanın üst ucu (%100). |
colorScale.lowThreshold | 80 | Rozetin düşükten ortaya geçtiği yüzde. |
colorScale.highThreshold | 90 | Rozetin 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)
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
whmWeights.lines | 1 | Satır/deyim kapsamının ağırlığı. |
whmWeights.functions | 1 | İşlev kapsamının ağırlığı. |
whmWeights.regions | 1.5 | Bölge kapsamının ağırlığı (llvm-cov). |
whmWeights.branches | 2 | Dal kapsamının ağırlığı. |
whmWeights.mcdc | 4 | MC/DC kapsamının ağırlığı. 0 onu dışlar. |
whmWeights.instantiations | 0.5 | C++ şablon örneklemelerinin ağırlığı (llvm-cov). |
Eşikler ve uyumluluk
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
threshold.profile | standard | standard 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.statement | 80 | En düşük deyim yüzdesi. 0 denetimi kapatır. |
threshold.branch | 70 | En düşük dal yüzdesi. |
threshold.mcdc | 0 | En düşük MC/DC yüzdesi. |
threshold.functions | 80 | En düşük işlev yüzdesi. |
threshold.regions | 75 | En düşük bölge yüzdesi (llvm-cov). |
threshold.instantiations | 0 | En düşük örnekleme yüzdesi (llvm-cov); yalnızca C projeleri atlanır. |
threshold.conditions | 0 | En düşük koşul yüzdesi. |
threshold.functionCalls | 0 | En düşük işlev çağrısı yüzdesi, raporda yer aldığı yerde. |
threshold.objectCode | 0 | En düşük nesne kodu yüzdesi, raporda yer aldığı yerde. |
threshold.mutation | 0 | En düşük mutasyon puanı, bir mutasyon raporu yüklendiğinde. |
threshold.weighted | 75 | En düşük bileşik puan. |
compliance.mode | strict | strict | whm | both | either. |
compliance.diagnostics | false | Karşılanmayan her eşik için Sorunlar'da bir hata, izleme dosyası üzerinde. |
threshold.unmeasuredFiles | -1 | En 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.perLine | off | off | 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
| Ayar | Varsayılan | Ne 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.generated | true | Ü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.perTest | false | Run 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.onSave | false | Bir 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.skipWhenTestsFail | false | Run 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.mode | off | off | 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.crapThreshold | 30 | Bu 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.complexityThreshold | 0 | Bu 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.enabled | false | Kapsamı, bir temel referansa göre değişen satırlarla sınırla. Klasör başına. |
gitDiff.baseRef | origin/master | Fark 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.outputPath | coverage-badge.svg | Generate 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.metric | lines | lines | 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.autoUpdate | false | Her 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
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
mcdcGutter.enabled | false | Renkli MC/DC kenar şeridi. |
statusBar.enabled | true | Çalıştırma geneli ve dosya başına durum çubuğu ögelerini göster. |
statusBar.showLauncher | true | Her zaman erişilebilir hızlı menü başlatıcısı. |
statusBar.showModeToggle | true | Kenar boşluğu kipini adlandıran bir durum çubuğu düğmesi; bir tıklama onu bir sonrakine geçirir. |
codeLens.enabled | true | İşlev başına kapsam CodeLens’i. |
deadCode.enabled | true | Kapsamı sıfır olan işlevler için uyar. |
staleWarning.enabled | true | İçeriği artık çalıştırmasıyla eşleşmeyen dosyaları işaretle. |
explorerBadges.enabled | false | Gezgin'de dosyaların yanında kapsam rozetleri ve ipucu. |
coverageFile.rememberPicks | true | Seç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.mergeStrategy | newest | Hiç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.enabled | true | Kapsamı önceki çalıştırmadan beri değişen satırlarda kenar boşluğu işaretleri. |
dirtyMarks.enabled | true | Çalıştırma yüklendiğinden beri düzenlenen satırlarda gri kenar boşluğu noktası. |
editorGutter.mode | off | off | 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. |
lineHighlight | off | off | 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. |
overviewRuler | follow | follow | 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.inline | false | Bir deyimin başladığı her satırın ardında ×N, ×0 dâhil. Klasör başına. |
testCoverage.publish | true | Yü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.perspective | folders | Coverage 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.mergedMarks | true | Birkaç 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. |
excludeComments | true | Yorum, boş ve LCOV_EXCL_* satırlarını ve C, C++, Objective-C, CUDA ile C# içindeki önişlemci yönergelerini dışla. |
excluded.includeInTotals | false | Dışlanan satırları toplamlara dahil et. |
Geçmiş
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
history.enabled | false | Eğilim ve karşılaştırma için çalıştırmaları yerel olarak sakla. |
history.retention | 20 | Saklanacak 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
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
telemetry.enabled | false | Kullanı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
| Ayar | Varsayılan | Ne işe yarar |
|---|---|---|
update.checkForUpdates | true | Dü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
| Ayar | Varsayılan | Ne 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. |