RulerSmith
Podržte Ctrl+Shift nad aplikací, kterou ladíte: ovládací prvek pod ukazatelem ukáže svou velikost a jemné šipky vzdálenosti k okolním ovládacím prvkům. Pusťte klávesy a vše zmizí.
Zdarma · Visual Studio 2022 a 2026 · 14 jazyků rozhraní · žádná telemetrie
Proč RulerSmith

Skutečné hranice, ne odhad
Velikosti pocházejí z UI Automation — stromu, který používají čtečky obrazovky —, takže je neoklamou stíny, přechody ani vyhlazování hran, jako oklamou pixelové pravítko.
Jednotky, které píšete
WPF a webové stránky rozvrhují v jednotkách nezávislých na zařízení: 76 × 32 je to, co napíšete do XAML nebo CSS, a pixely obrazovky (152 × 64 při 200 %) jsou zobrazené pod tím.
Jen když držíte klávesu
Dokud klávesu nepodržíte, nic se nepočítá ani nekreslí. Překryv nikdy nepřevezme kliknutí ani fokus a odpočívá, když je ladicí program pozastavený.
Zdarma a bez háčků
Žádné předplatné, žádná verze „pro“, žádný sběr dat a žádné zprávy v okně „Výstup“ ani při spuštění. Jediné, o co kdy požádáme — až ho nějakou dobu budete používat — je hodnocení na Marketplace. Funguje ve Visual Studiu 2022 a 2026, x64 i ARM64.
Funkce
- Velikost ovládacího prvku pod ukazatelem s jeho druhem (Button, ComboBox…), v jednotkách aplikace a na škálovaném displeji i v pixelech obrazovky.
- Mezery k sousedům: nejbližší ovládací prvek na každé straně, nebo okraj kontejneru, když tam žádný není — čáry, které byste kreslili ručně.
- DPI pro každý monitor: bere se v úvahu měřítko každého monitoru, aplikace WinForms a Win32 se měří ve vlastních pixelech, ať podporují DPI, nebo ne.
- Panel RulerSmith: název a automation id ovládacího prvku, jeho velikost, pozice a mezery s tím, kde končí; přepínače měření a jednotlivých druhů aplikací.
- Jemný nástup: obrys se plynule objeví, pak z ovládacího prvku vyrostou šipky — nebo vše najednou, nebo úplně bez animace.
- Vázáno na relaci ladění: spouští se s F5, měří jen laděnou aplikaci (a to, co otevře, třeba WebView2 nebo prohlížeč webového projektu) a končí s relací.
Měření
Spusťte ladění, podržte Ctrl+Shift a pohybujte ukazatelem nad aplikací. Nový ovládací prvek dostane obrys, pod ním se objeví jeho velikost a mezery se rozběhnou k sousedům; čísla sledují ukazatel od prvku k prvku.

| Na obrazovce | Význam |
|---|---|
| Tenký obrys | Hranice ovládacího prvku pod ukazatelem. Text nebo ikona uvnitř tlačítka se počítá jako tlačítko. |
| Button 76 × 32 152 × 64 px · 200 % | Druh a velikost v jednotkách aplikace; na škálovaném displeji na druhém řádku pixely obrazovky a měřítko. |
| Plná šipka | Mezera k nejbližšímu ovládacímu prvku na té straně. Dotýkající se prvky šipku nemají. |
| Přerušovaná šipka | Na té straně není žádný ovládací prvek: mezera k okraji kontejneru (klientské oblasti okna). |
Panel RulerSmith
Ladit → Panel RulerSmith (také v Zobrazit → Další okna). Panel nástrojů zapíná a vypíná měření — stejný přepínač jako Měřit rozložení na panelu nástrojů Ladění — a každý druh aplikace zvlášť: WPF, WinForms, Win32, Web. Pod ním poslední měření: název a automation id ovládacího prvku (podle něj prvek najdete v XAML), jeho velikost, pozice v okně a každá mezera s ovládacím prvkem, u kterého končí. Stavový řádek říká, proč se nic nekreslí: neladí se, pozastaveno na zarážce, nebo je měření vypnuté.

Které aplikace
RulerSmith čte ovládací prvky přes UI Automation, takže měří to, co tam aplikace zpřístupní — a standardní ovládací prvky to dělají samy od sebe.
| Aplikace | Poznámky |
|---|---|
| WPF | Jednotky jsou nezávislé na zařízení. Průhledný panel nástrojů XAML, který Visual Studio pokládá přes laděnou aplikaci WPF, se přeskakuje; obsah karet se najde. |
| Windows Forms | Jednotky jsou pixely aplikace: 1:1 u aplikace s podporou DPI, roztažené Windows u aplikace bez ní. |
| Win32, MFC | Okna vytvořená pomocí CreateWindow a dialogy z prostředků: tlačítka, textová pole, pole se seznamem, seznamy, stromy. |
| Webové stránky | Edge, Chrome a Firefox během ladění — Visual Studio často otevře webový projekt v prohlížeči, který už běží. Jednotkami jsou pixely CSS. Vypíná je přepínač Web v panelu. |
Nepodporováno: WinUI, UWP a MAUI. Vlastní ovládací prvek, který nevytváří automation peer, je pro UI Automation neviditelný a místo něj se měří jeho kontejner.
Nastavení
Nástroje → Možnosti → SmithWorks → RulerSmith. Každá možnost má popis.
| Možnost | Výchozí |
|---|---|
| Pro měření podržte | Ctrl+Shift |
| Měřit při ladění | zapnuto |
| Zobrazit pixely obrazovky na škálovaných displejích | zapnuto |
| Animovat zobrazení | zapnuto |
| Šipky mezer vyrůstají z ovládacího prvku | zapnuto |
| Požádat o hodnocení na Marketplace | zapnuto |
Nastavení se ukládá do %LocalAppData%\RulerSmith.

Časté dotazy
Odesílá RulerSmith nějaká data?
Ne. Vše probíhá na vašem počítači: malý proces překryvu čte ovládací prvky přes UI Automation a kreslí na obrazovku. Žádné síťové požadavky, žádná telemetrie.
Obrys má jen celé okno (nebo velký panel). Proč?
Aplikace nezpřístupňuje ovládací prvky uvnitř pro UI Automation — obvykle jde o vlastní ovládací prvky bez automation peer. Přepsáním OnCreateAutomationPeer v takovém prvku ho lze měřit a zpřístupníte ho i čtečkám obrazovky.
Když podržím klávesu, nic se nekreslí.
Zkontrolujte, že běží relace ladění a není pozastavená a že stavový řádek panelu ukazuje Měří se. Některý druh aplikace může být v panelu vypnutý. Stejné klávesy může používat jiný program: v nastavení zvolte jinou kombinaci.
Proč se zastaví na zarážce?
Pozastavená aplikace nemůže UI Automation odpovídat. Překryv odpočívá, dokud nepokračujete (F5).
Bude podporováno WinUI, UWP nebo MAUI?
Zatím ne. Pokud je potřebujete, napište to v repozitáři Feedback.
Mohu měřit aplikaci bez Visual Studia?
Ano: spusťte RulerSmith.Overlay.exe ze složky rozšíření. Usadí se v oznamovací oblasti a měří jakékoli okno, dokud držíte klávesu.
Kde nahlásit problém nebo navrhnout funkci?
Založte issue v repozitáři Feedback na GitHubu — jsou tam formuláře pro chyby a nápady (neveřejné názvy prosím změňte). Můžete také použít kartu Q&A na Marketplace.
Historie změn
1.0.2
- Jednorázová žádost o hodnocení na Marketplace, až bude rozšíření užitečné — s možnostmi Později a Už se neptat a s volbou, která ji vypne.
1.0.1
- Odkaz „Ohodnotit na Marketplace“ v nastavení.
1.0.0
- První veřejné vydání.