LazowskiAnton · Extensions

RulerSmith

Hata ayıkladığınız uygulamanın üzerinde Ctrl+Shift tuşlarını basılı tutun: işaretçinin altındaki denetim boyutunu, yumuşak oklar da çevresindeki denetimlere olan uzaklıkları gösterir. Tuşları bırakın, hepsi kaybolur.

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

Neden RulerSmith

Aynı form RulerSmith olmadan ve RulerSmith ile: bir düğmenin çerçevesi, boyutu ve komşularına olan boşluklar

Tahmin değil, gerçek sınırlar

Boyutlar, ekran okuyucuların kullandığı ağaç olan UI Automation'dan gelir; bu yüzden gölgeler, gradyanlar ve kenar yumuşatma bir piksel cetvelini yanılttığı gibi onu yanıltamaz.

Yazdığınız birimler

WPF ve web sayfaları cihazdan bağımsız birimlerle yerleşim yapar: 76 × 32, XAML veya CSS'e yazdığınız değerdir; ekran pikselleri (%200'de 152 × 64) hemen altında gösterilir.

Yalnızca tuş basılıyken

Tuşu basılı tutana kadar hiçbir şey hesaplanmaz veya çizilmez. Katman hiçbir zaman tıklamayı veya odağı almaz ve hata ayıklayıcı duraklatıldığında dinlenir.

Ücretsiz, koşulsuz

Abonelik yok, “pro” sürüm yok, veri toplama yok, Çıktı penceresinde ya da başlangıçta mesaj yok. 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 üzerinde çalışır.

Özellikler

Ölçüm

Hata ayıklamayı başlatın, Ctrl+Shift tuşlarını basılı tutun ve işaretçiyi uygulamanın üzerinde gezdirin. Yeni bir denetimin çevresine çerçeve çizilir, boyutu altında belirir ve boşluklar komşulara doğru uzanır; sayılar işaretçiyi denetimden denetime izler.

Çerçevesi çizilmiş bir Save düğmesi; boyutu ve Cancel'a, yorum kutusuna ve pencere kenarlarına olan boşluklarıyla
EkrandaAnlamı
İnce çerçeveİşaretçinin altındaki denetimin sınırları. Düğmenin içindeki metin veya simge düğme sayılır.
Button 76 × 32
152 × 64 px · %200
Uygulamanın birimleriyle tür ve boyut; ölçeklendirilmiş ekranda ikinci satırda ekran pikselleri ve ölçek.
Düz okO taraftaki en yakın denetime olan boşluk. Birbirine değen denetimlerde ok gösterilmez.
Kesik çizgili okO tarafta denetim yok: kapsayıcının kenarına (bir pencerenin istemci alanına) olan boşluk.

RulerSmith paneli

Hata Ayıkla → RulerSmith Paneli (ayrıca Görünüm → Diğer Pencereler altında). Araç çubuğu ölçümü açar ve kapatır — Hata Ayıkla araç çubuğundaki Düzeni Ölç ile aynı anahtar — ve her uygulama türünü ayrı ayrı: WPF, WinForms, Win32, Web. Altında son ölçüm yer alır: denetimin adı ve automation id'si (denetimi XAML'de bununla bulursunuz), boyutu, penceredeki konumu ve bittiği denetimle birlikte her boşluk. Durum satırı neden hiçbir şey çizilmediğini söyler: hata ayıklanmıyor, bir kesme noktasında duraklatıldı veya ölçüm kapalı.

Ölçülen Save düğmesi, boyutu ve boşluklarıyla RulerSmith paneli

Hangi uygulamalar

RulerSmith denetimleri UI Automation üzerinden okur; bu yüzden uygulamanın orada sunduğunu ölçer — standart denetimler bunu kendiliğinden yapar.

UygulamaNotlar
WPFBirimler cihazdan bağımsızdır. Visual Studio'nun hata ayıklanan WPF uygulamasının üzerine yerleştirdiği saydam XAML araç çubuğu atlanır; sekmelerin içeriği bulunur.
Windows FormsBirimler uygulamanın pikselleridir: DPI farkında bir uygulama için 1:1, olmayan bir uygulama için Windows tarafından esnetilmiş.
Win32, MFCCreateWindow ile oluşturulan pencereler ve kaynaklardan iletişim kutuları: düğmeler, düzenleme kutuları, açılan kutular, listeler, ağaçlar.
Web sayfalarıHata ayıklama sırasında Edge, Chrome ve Firefox — Visual Studio bir web projesini çoğu zaman zaten çalışan tarayıcıda açar. Birimler CSS pikselleridir. Paneldeki Web anahtarı bunları kapatır.

Desteklenmez: WinUI, UWP ve MAUI. Automation peer oluşturmayan özel bir denetim UI Automation için görünmezdir; onun yerine kapsayıcısı ölçülür.

Ayarlar

Araçlar → Seçenekler → SmithWorks → RulerSmith. Her seçeneğin bir açıklaması vardır.

SeçenekVarsayılan
Ölçmek için basılı tutunCtrl+Shift
Hata ayıklama sırasında ölçaçık
Ölçeklendirilmiş ekranlarda ekran piksellerini gösteraçık
Girişi canlandıraçık
Boşluk oklarını denetimden dışarı doğru uzataçık
Marketplace'te değerlendirme isteaçık

Ayarlar %LocalAppData%\RulerSmith klasöründe saklanır.

RulerSmith seçenekler sayfası
Seçenekler sayfası.

SSS

RulerSmith herhangi bir veri gönderiyor mu?

Hayır. Her şey bilgisayarınızda gerçekleşir: küçük bir katman işlemi denetimleri UI Automation üzerinden okur ve ekrana çizer. Ağ isteği yok, telemetri yok.

Yalnızca pencerenin tamamının (veya büyük bir panelin) çevresine çerçeve çiziliyor. Neden?

Uygulama içindeki denetimleri UI Automation'a sunmuyor; genellikle automation peer'ı olmayan özel denetimlerdir. Böyle bir denetimde OnCreateAutomationPeer yöntemini geçersiz kılmak onu ölçülebilir ve ekran okuyucular için de erişilebilir yapar.

Tuşu basılı tuttuğumda hiçbir şey çizilmiyor.

Bir hata ayıklama oturumunun çalıştığını ve duraklatılmadığını, panelin durum satırında Ölçülüyor yazdığını denetleyin. Bir uygulama türü panelde kapatılmış olabilir. Aynı tuşları başka bir program kullanıyor olabilir: ayarlarda başka bir birleşim seçin.

Kesme noktasında neden duruyor?

Duraklatılmış bir uygulama UI Automation'a yanıt veremez. Katman, siz devam edene (F5) kadar dinlenir.

WinUI, UWP veya MAUI desteklenecek mi?

Şimdilik hayır. İhtiyacınız varsa Feedback deposunda bunu belirtin.

Bir uygulamayı Visual Studio olmadan ölçebilir miyim?

Evet: uzantının klasöründen RulerSmith.Overlay.exe dosyasını çalıştırın. Sistem tepsisinde durur ve tuş basılıyken herhangi bir pencereyi ölçer.

Bir sorunu nereye bildirebilir veya özellik önerebilirim?

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

Değişiklik günlüğü

1.0.2

1.0.1

1.0.0