RulerSmith
Halten Sie Ctrl+Shift über der App, die Sie debuggen: Das Steuerelement unter dem Zeiger zeigt seine Größe, und dezente Pfeile zeigen die Abstände zu den Steuerelementen ringsum. Loslassen – und alles ist weg.
Kostenlos · Visual Studio 2022 und 2026 · 14 UI-Sprachen · keine Telemetrie
Warum RulerSmith

Echte Grenzen, keine Schätzung
Die Größen kommen aus UI Automation – dem Baum, den Sprachausgaben verwenden –, daher lässt es sich von Schatten, Verläufen und Kantenglättung nicht täuschen wie ein Pixellineal.
Die Einheiten, die Sie schreiben
WPF und Webseiten arbeiten mit geräteunabhängigen Einheiten: 76 × 32 ist das, was Sie in XAML oder CSS schreiben, und die Bildschirmpixel (152 × 64 bei 200 %) stehen darunter.
Nur solange die Taste gehalten wird
Bis Sie die Taste halten, wird nichts berechnet oder gezeichnet. Die Überlagerung nimmt nie einen Klick oder den Fokus an und ruht, solange der Debugger angehalten ist.
Kostenlos, ohne Haken
Kein Abo, keine „Pro“-Version, keine Datensammlung, keine Meldungen im Fenster „Ausgabe“ oder beim Start. Das Einzige, worum wir je bitten werden – nachdem Sie es eine Weile genutzt haben –, ist eine Bewertung im Marketplace. Läuft unter Visual Studio 2022 und 2026, x64 und ARM64.
Funktionen
- Die Größe des Steuerelements unter dem Zeiger mit seiner Art (Button, ComboBox…), in den Einheiten der App und auf einer skalierten Anzeige in Bildschirmpixeln.
- Abstände zu den Nachbarn: das nächste Steuerelement auf jeder Seite oder, wenn es keines gibt, der Rand des Containers – die Linien, die Sie von Hand ziehen würden.
- DPI pro Monitor: Die Skalierung jedes Monitors wird berücksichtigt, WinForms- und Win32-Apps werden in ihren eigenen Pixeln gemessen, ob DPI-fähig oder nicht.
- Der RulerSmith-Bereich: Name und Automation-ID des Steuerelements, seine Größe, Position und Abstände mit dem, woran sie enden; Schalter für das Messen und für jede Art von App.
- Ein sanftes Erscheinen: Der Umriss wird eingeblendet, dann wachsen die Pfeile aus dem Steuerelement – oder alles auf einmal, oder ganz ohne Animation.
- An die Debugsitzung gebunden: Es startet mit F5, misst nur die debuggte App (und was sie öffnet, etwa WebView2 oder den Browser eines Webprojekts) und endet mit der Sitzung.
Messen
Starten Sie das Debuggen, halten Sie Ctrl+Shift und bewegen Sie den Zeiger über die App. Ein neues Steuerelement wird umrandet, seine Größe erscheint darunter, und die Abstände laufen zu den Nachbarn hinaus; die Zahlen folgen dem Zeiger von Steuerelement zu Steuerelement.

| Auf dem Bildschirm | Bedeutung |
|---|---|
| Dünner Umriss | Die Grenzen des Steuerelements unter dem Zeiger. Text oder ein Symbol in einer Schaltfläche zählt als die Schaltfläche. |
| Button 76 × 32 152 × 64 px · 200 % | Die Art und die Größe in den Einheiten der App; auf einer skalierten Anzeige die Bildschirmpixel und die Skalierung in einer zweiten Zeile. |
| Durchgezogener Pfeil | Der Abstand zum nächsten Steuerelement auf dieser Seite. Aneinanderstoßende Steuerelemente zeigen keinen Pfeil. |
| Gestrichelter Pfeil | Kein Steuerelement auf dieser Seite: der Abstand zum Rand des Containers (dem Clientbereich eines Fensters). |
Der RulerSmith-Bereich
Debuggen → RulerSmith-Bereich (auch unter Ansicht → Weitere Fenster). Die Symbolleiste schaltet das Messen ein und aus – derselbe Schalter wie Layout messen auf der Symbolleiste „Debuggen“ – und jede Art von App einzeln: WPF, WinForms, Win32, Web. Darunter die letzte Messung: Name und Automation-ID des Steuerelements (damit finden Sie es in XAML), seine Größe, seine Position im Fenster und jeder Abstand mit dem Steuerelement, an dem er endet. Die Statuszeile sagt, warum nichts gezeichnet wird: kein Debuggen, an einem Haltepunkt angehalten oder Messen ausgeschaltet.

Welche Apps
RulerSmith liest die Steuerelemente über UI Automation und misst daher, was die App dort bereitstellt – und das tun Standardsteuerelemente von Haus aus.
| App | Hinweise |
|---|---|
| WPF | Die Einheiten sind geräteunabhängig. Die durchsichtige XAML-Symbolleiste, die Visual Studio über eine debuggte WPF-App legt, wird übersprungen; der Inhalt von Registerkarten wird gefunden. |
| Windows Forms | Die Einheiten sind die Pixel der App: 1:1 bei einer DPI-fähigen App, von Windows gestreckt bei einer, die es nicht ist. |
| Win32, MFC | Mit CreateWindow erstellte Fenster und Dialoge aus Ressourcen: Schaltflächen, Eingabefelder, Kombinationsfelder, Listen, Strukturen. |
| Webseiten | Edge, Chrome und Firefox während des Debuggens – Visual Studio öffnet ein Webprojekt oft in dem Browser, der bereits läuft. Die Einheiten sind CSS-Pixel. Der Schalter „Web“ im Bereich schaltet sie aus. |
Nicht unterstützt: WinUI, UWP und MAUI. Ein benutzerdefiniertes Steuerelement, das keinen Automation-Peer erstellt, ist für UI Automation unsichtbar, und stattdessen wird sein Container gemessen.
Einstellungen
Extras → Optionen → SmithWorks → RulerSmith. Jede Option hat eine Beschreibung.
| Option | Standard |
|---|---|
| Zum Messen halten | Ctrl+Shift |
| Beim Debuggen messen | ein |
| Bildschirmpixel auf skalierten Anzeigen zeigen | ein |
| Erscheinen animieren | ein |
| Abstandspfeile aus dem Steuerelement wachsen lassen | ein |
| Um eine Bewertung im Marketplace bitten | ein |
Die Einstellungen werden in %LocalAppData%\RulerSmith gespeichert.

FAQ
Sendet RulerSmith Daten?
Nein. Alles geschieht auf Ihrem Computer: Ein kleiner Überlagerungsprozess liest die Steuerelemente über UI Automation und zeichnet auf den Bildschirm. Keine Netzwerkanfragen, keine Telemetrie.
Umrandet wird nur das ganze Fenster (oder ein großer Bereich). Warum?
Die App stellt die Steuerelemente darin nicht für UI Automation bereit – meist benutzerdefinierte Steuerelemente ohne Automation-Peer. Wenn Sie in einem solchen Steuerelement OnCreateAutomationPeer überschreiben, wird es messbar und auch für Sprachausgaben zugänglich.
Wenn ich die Taste halte, wird nichts gezeichnet.
Prüfen Sie, ob eine Debugsitzung läuft und nicht angehalten ist und ob die Statuszeile des Bereichs Messen anzeigt. Eine Art von App kann im Bereich ausgeschaltet sein. Ein anderes Programm verwendet vielleicht dieselben Tasten: Wählen Sie in den Einstellungen eine andere Kombination.
Warum hält es an einem Haltepunkt an?
Eine angehaltene App kann UI Automation nicht antworten. Die Überlagerung ruht, bis Sie fortsetzen (F5).
Werden WinUI, UWP oder MAUI unterstützt?
Vorerst nicht. Wenn Sie sie brauchen, sagen Sie es im Repository Feedback.
Kann ich eine App ohne Visual Studio messen?
Ja: Starten Sie RulerSmith.Overlay.exe aus dem Ordner der Erweiterung. Es sitzt im Infobereich und misst jedes Fenster, solange die Taste gehalten wird.
Wo melde ich ein Problem oder schlage eine Funktion vor?
Erstellen Sie ein Issue im Repository Feedback auf GitHub – dort gibt es Formulare für Fehler und Ideen (bitte ändern Sie vertrauliche Namen). Sie können auch die Registerkarte „Q&A“ im Marketplace verwenden.
Änderungsprotokoll
1.0.2
- Eine einmalige Bitte um eine Bewertung im Marketplace, nachdem die Erweiterung nützlich war – mit Später und Nicht mehr fragen sowie einer Option zum Ausschalten.
1.0.1
- Link „Im Marketplace bewerten“ in den Einstellungen.
1.0.0
- Erste öffentliche Version.