LazowskiAnton · Extensions

BuildSmith

Derlemenizin ne yaptığı ve neden bu kadar sürdüğü. Her derlemeden sonra durum çubuğu derlemenin süresini ve öncekine göre değişimi gösterir; Derleme Zaman Çizelgesi penceresi tüm projeleri bir zaman çizelgesinde gösterir — hangileri paralel çalıştı, hangileri bekledi ve toplam süreyi hangi kritik yol belirledi.

Ücretsiz · Visual Studio 2022 ve 2026 · 14 arayüz dili · telemetri yok

Neden BuildSmith

Derleme Zaman Çizelgesi penceresi: derlemenin sonucu ve önceki derlemeye göre süresi, başlama sırasına göre proje başına bir çubuk, turuncuyla çevrelenmiş kritik yol

Süre nereye gitti

Çıktı penceresi derlemenin 1 dk 48 sn sürdüğünü söyler. Zaman çizelgesi ise bu süreyi hangi projelerin aldığını, hangilerinin yan yana çalıştığını ve tüm derlemenin hangi proje zincirini beklemek zorunda kaldığını söyler.

Benzer bir derlemeyle karşılaştırma

main üzerindeki bir Debug derlemesi, main üzerindeki önceki Debug derlemesiyle karşılaştırılır — bir yeniden derlemeyle, Release derlemesiyle ya da başka bir dalla değil. Bu yüzden ▲ 4.1 sn bir anlam taşır.

Sessiz

Hiçbir pencere kendiliğinden açılmaz, hiçbir şey açılır pencerede belirmez: derlemeden sonra durum çubuğunda tek bir satır. Kayıt kapalıyken BuildSmith gerçekten uyur — derleme olaylarını bile dinlemez.

Ücretsiz, koşulsuz

Abonelik yok, “pro” sürüm yok, veri toplama yok, Çıktı penceresinde ya da başlangıçta mesaj yok. Geçmiş bilgisayarınızda kalır. Sizden isteyeceğimiz tek şey — bir süre kullandıktan sonra — Marketplace'te bir değerlendirme. Visual Studio 2022 ve 2026'da, x64 ve ARM64'te çalışır.

Özellikler

Bir bakışta derleme

Derle › Derleme Zaman Çizelgesi'ni açın (ayrıca Görünüm › Diğer Pencereler içinde ve SmithWorks araç çubuğunda). Pencere son derlemeyi — veya geçmişteki herhangi bir derlemeyi — üstte bir özetle ve altında proje başına bir çubukla gösterir.

Derleme Zaman Çizelgesi penceresi: sonuç, süre ve değişimi içeren başlık, ardından çevrelenmiş kritik yol, taranmış güncel projeler ve bir araç ipucuyla zaman çizelgesindeki projeler

Durum çubuğunda süre

Her derlemeden sonra Visual Studio'nun durum çubuğu derlemenin süresini ve önceki benzer derlemeye göre değişimi gösterir: ⏱ 1 min 48 s (▲ 4.1 s) — ▲ daha yavaş, ▼ daha hızlı. BuildSmith'in kendiliğinden gösterdiği tek şey budur ve ayarlardan kapatılabilir.

Benzer derleme; aynı tür derleme (Derle veya Yeniden Derle), aynı yapılandırma, aynı platform ve aynı Git dalı demektir. Henüz böyle bir derleme yoksa yalnızca süre gösterilir.

Başlık

Pencerenin üst kısmı gösterilen derlemeyi özetler:

EkrandaAnlamı
✓ 1 dk 48 sn  ▲ 4.1 sn öncekine göreSonuç (başarılı veya başarısız), toplam süre ve önceki benzer derlemeye göre değişimi gösteren bir rozet; rozetin araç ipucu o derlemenin ne kadar sürdüğünü ve ne zaman yapıldığını söyler.
14 proje · 9 derlendi · 5 güncel · 1 başarısızKaç projenin katıldığı, kaçının gerçekten derlendiği, kaçının güncel olduğu için atlandığı ve kaçının başarısız olduğu.
kritik yol 1 dk 31 sn · Debug · Any CPU · mainKritik yolun uzunluğu, ardından derlemenin yapılandırması, platformu ve Git dalı.
Derleme seçiciÇözümün kaydedilmiş herhangi bir derlemesi: zaman çizelgesi ona geçer.
🏷 ⏻ ⚙🏷 gösterilen derlemeyi etiketler, ⏻ kaydı açar veya kapatır, ⚙ ayarları açar.

Çubuklar

EkrandaAnlamı
Mavi çubukDerlenen bir proje; başlama sırasına göre proje başına bir satır: çubuk, derleme başladıktan sonra projenin gerçekten başladığı yerden başlar ve sürdüğü kadar uzundur. Üst üste binen çubuklar paralel çalışmıştır; böylece derlemenin gerçekte ne kadar paralel olduğunu görürsünüz.
Turuncu çerçeveKritik yol: her biri bir öncekini bekleyen ve toplam süreyi belirleyen proje zinciri. Bunlardan birini hızlandırmak derlemeyi hızlandırır; diğer projeler yanlarında çalıştı.
Taranmış kısa çubukGüncel: atlandı, içinde hiçbir şey değişmedi.
Kırmızı çubukProje derlenemedi.
▲ 2.4 snHer çubuğun yanında: süresi ve kayda değer olduğunda, önceki benzer derlemedeki aynı projeye göre değişim.

Ayrıntılar için fareyi bir çubuğun üzerine getirin: projenin ne kadar sürdüğü, derleme başladıktan sonra ne zamandan ne zamana çalıştığı, önceki derlemeye göre değişim ve kritik yolda olup olmadığı.

Pencere çalışırken açık kalabilir: her yeni derlemeye kendiliğinden geçer. Zaman Çizelgesi, Karşılaştır ve Geçmiş sekmeleri üsttedir.

Hiç güncel değil

Bazı projeler, içlerinde hiçbir şey değişmediğinde bile her derlemede derlenir. Her seferinde birkaç saniyeye mal olur ve kimse fark etmez. BuildSmith fark eder: artımlı bir derlemenin zaman çizelgesinin üstündeki bir şerit, böyle kaç proje olduğunu ve her derlemede neye mal olduklarını söyler. Şerit açılarak proje listesini gösterir; bu projelerin zaman çizelgesindeki satırları ⟳ işaretini alır.

Zaman çizelgesinin üstünde bir şerit: “3 proje hiç güncel değil — derleme başına 6.4 sn”; proje listesi ve olağan nedenler

Kural: bir proje, çözümün yarısından fazlası güncelken aynı yapılandırma ve daldaki son 3 ila 5 artımlı derlemenin her birinde derlendiyse işaretlenir. Yeniden derlemeler sayılmaz — orada her şey bilerek derlenir.

Olağan nedenler:

Bunu düzeltmek bu süreyi her derlemede kazandırır. Şerit ayarlardan kapatılabilir: Hiç güncel olmayan projeleri belirt.

Geçmiş

Geçmiş sekmesi çözümün kaydedilmiş derlemelerini en yeniden başlayarak, güne göre gruplanmış şekilde listeler. Her satırda saat, derleme türü, yapılandırma ve dal, etiket ve derleme süresiyle orantılı bir çubuk bulunur — yavaş bir derleme hemen göze çarpar.

Geçmiş sekmesi: arama kutusu, tarih aralıkları, işaretli derlemeler, etiketler, derleme süresiyle orantılı çubuklar ve sağ tık menüsü

Bir derleme bulun

Arama kutusuna yazın — her kelime etikette, dalda, yapılandırmada veya derleme türünde bulunmalıdır. Tarihe göre Bugün, Dün ve bugün, 7 gün veya Tümü ile daraltın ya da takvimden tarih seçin (Tarihler…). Yalnızca etiketliler, etiketlediğiniz derlemeleri bırakır.

Açma, etiketleme, saklama, silme

Zaman çizelgesinde açmak için bir derlemeye tıklayın (veya Enter'a basın). Sağ tıkla Zaman çizelgesinde aç, Etiketle…, Sakla (asla silme) ve Sil komutlarına ulaşırsınız. Delete tuşu derlemeyi siler ve birkaç saniye boyunca Geri al mümkündür. ⋯ menüsü bir tarihten eski derlemeleri siler, bu çözümün veya tüm çözümlerin geçmişini temizler.

Derlemeleri karşılaştırmak veya birkaçını birden silmek için işaretleyin. Etiketlileri işaretle, gösterilen ve etiketi olan her derlemeyi işaretler — “önce” ile “sonra”yı karşılaştırmanın en hızlı yolu.

Derlemeler ne kadar saklanır

Derlemeler yalnızca bu bilgisayarda, %LocalAppData%\BuildSmith içinde, çözüm başına bir geçmiş olarak saklanır — 1 gün, 3 gün, 1 hafta (varsayılan), 2 hafta veya 1 ay boyunca. Daha eski derlemeler çözüm açıldığında veya bir derleme bittiğinde silinir. Etiketli ve saklanan derlemeler ne kadar eski olursa olsun kalır.

Etiketler

Başlıktaki 🏷 (veya Geçmiş menüsündeki Etiketle…) bir derlemeye kısa bir metin ve renk verir: beş renkten biri ya da palet ve son renkleri içeren küçük bir seçiciden kendi renginiz. Son kullanılan etiketler tek tıkla yeniden önerilir; böylece bir dizi derleme aynı etiketi paylaşabilir.

Etiketli bir derleme yaşı nedeniyle asla silinmez (Etiketli derlemeleri sakla seçeneğini kapatmadığınız sürece). Sakla (asla silme) etiketsiz bir derlemeyi sabitler.

Kayıt

Başlıktaki ⏻ derlemelerin kaydedilip kaydedilmeyeceğini seçer:

SeçimNe olur
Derlemeleri kaydetVarsayılan: her derlemenin süresi ölçülür ve geçmişte saklanır.
Bu çözüm için değilBu çözüm artık kaydedilmez; diğerleri kaydedilmeye devam eder. Ayarlar bu tür çözümleri Yeniden kaydet düğmesiyle listeler.
Her yerde kapalıBuildSmith tüm çözümlerde uyur.

Uykudayken BuildSmith gerçekten hiçbir şey yapmaz: derleme olaylarına abone olmaz, durum çubuğuna veya diske hiçbir şey yazmaz. Geçmiş kalır ve pencere Derlemeleri yeniden kaydet seçeneğini sunar.

Derlemeleri karşılaştırma

Karşılaştır sekmesi derlemeleri yan yana koyar: düzeltme işe yaradı mı, güncellemeden sonra hangi proje yavaşladı, derleme süresi hafta boyunca nasıl değişti.

Karşılaştır sekmesi: derleme kartları, derleme sürelerinin eğilimi ve renkli değişimler, mini grafikler ve kritik yolla derlemelere göre projeler tablosu

Derlemeleri seçin

Geçmiş sekmesinde 2 ila 10 derleme işaretleyin ve ⇄ Karşılaştır (N) düğmesine basın. İşaret yoksa Karşılaştır, gösterilen derlemeyi önceki benzer derlemeyle karşılaştırır. Derlemeler üstte kartlar olarak görünür; ✕ bir derlemeyi karşılaştırmadan çıkarır.

Eğilim ve tablo

Küçük bir grafik her derlemenin toplam süresini gösterir. Altında projeler × derlemeler tablosu bulunur: her hücre ilk derlemeye göre değişime göre renklendirilir — sıcak renkler daha yavaş, yeşil daha hızlı — ve bir mini grafik, değişim ve projenin kritik yolda olduğu yerde ● içerir. Belirgin değişimi olmayan projeler … belirgin değişimi olmayan N tane daha satırında daraltılır.

Yalnızca ilgilendiğiniz projeler

Projeler: … düğmesi tabloyu filtreler: Tüm projeler (N), Belirgin değişenler (N), Kritik yoldakiler (N) veya Yalnızca işaretliler, bir arama kutusuyla. Filtre çözüm başına hatırlanır ve eğilim bu durumda filtrelenen projelerin sürelerini toplar — tüm çözümün değil, sizin projelerinizin eğilimi.

Derlemeler boyunca tek bir proje

Karşılaştırılan her derlemedeki çubuklarını görmek için bir projeye tıklayın; çerçeveli bir çubuk, projenin o derlemenin kritik yolunda olduğu anlamına gelir. ‹ Tüm projeler geri döner.

Markdown olarak kopyalama

⧉ Kopyala tabloyu gördüğünüz hâliyle — aynı derlemeler, aynı filtre — panoya bir Markdown tablosu olarak koyar; bir pull request veya sohbet için hazırdır. Tek proje görünümünde o projeyi kopyalar.

Ayarlar

Araçlar › Seçenekler › SmithWorks › BuildSmith (veya Derleme Zaman Çizelgesi penceresinde ⚙). Her seçeneğin ne yaptığına dair kısa bir açıklaması vardır.

SeçenekVarsayılan
Derlemeleri kaydetaçık
Kaydedilmeyenler:Kapatılmış çözüm yok.
Derlemeleri saklama süresi:1 hafta
Etiketli derlemeleri saklaaçık
Durum çubuğunda süreaçık
Hiç güncel olmayan projeleri belirtaçık
Marketplace'te değerlendirme isteaçık

Tüm geçmişi temizle (N çözüm, boyut)… tüm çözümlerin kaydedilmiş derlemelerini siler ve etiketli ve saklanan derlemelerin tutulup tutulmayacağını sorar. En altta: Varsayılanlara sıfırla, Belgeler, Marketplace'te değerlendir ve Geri bildirim gönder.

Ayarlar ve geçmiş %LocalAppData%\BuildSmith içinde saklanır.

BuildSmith seçenekler sayfası
Seçenekler sayfası.

SSS

BuildSmith herhangi bir veri gönderiyor mu?

Hayır. Derleme süreleri Visual Studio'nun derleme olaylarından alınır ve bilgisayarınızda, %LocalAppData%\BuildSmith içinde saklanır. Ağ isteği yok, telemetri yok.

Sürenin yanında neden değişim yok?

Henüz benzer bir derleme yok: aynı tür (Derle veya Yeniden Derle), yapılandırma, platform ve dal. Bir kez daha derleyin, değişim görünür.

Kritik yol tam olarak nedir?

Derlemenin beklemek zorunda kaldığı proje zinciri: her biri ancak bir önceki bittikten sonra başladı. Uzunluğu, kaç çekirdeğiniz olursa olsun, bu projelerle derlemenin olabileceği en kısa süredir. Kritik yol dışındaki bir projeyi hızlandırmak derlemeyi kısaltmaz.

Derlemeden sonra pencere boş kalıyor.

Kaydın açık olduğunu (pencerede ⏻, ayarlarda Derlemeleri kaydet) ve bu çözümün Kaydedilmeyenler listesinde olmadığını kontrol edin. Visual Studio dışında başlatılan derlemeler (komut satırında dotnet build) kaydedilmez.

BuildSmith derlemeyi yavaşlatır mı?

Hayır. Visual Studio'nun zaten bildirdiği her projenin başlangıcını ve bitişini dinler ve derlemeden sonra küçük bir dosya yazar. Derlemeyi veya derleme günlüğünü değiştirmez.

Geçmiş ne kadar disk alanı kaplar?

Çok az: bir derleme, süreleriyle birlikte kısa bir proje listesidir. Ayarlar boyutu Tüm geçmişi temizle'nin yanında gösterir ve eski derlemeler seçilen süreden sonra kendiliğinden silinir.

Bir sorunu nereye bildirebilir veya bir özellik önerebilirim?

GitHub'daki Feedback deposunda bir issue açın — hatalar ve fikirler için formlar var (lütfen özel adları değiştirin). Marketplace'teki Q&A sekmesini de kullanabilirsiniz.

Değişiklik günlüğü

1.0.0