RulerSmith
Mantenga Ctrl+Shift sobre la aplicación que está depurando: el control bajo el puntero muestra su tamaño y unas flechas suaves muestran las distancias a los controles que lo rodean. Suelte las teclas y todo desaparece.
Gratis · Visual Studio 2022 y 2026 · 14 idiomas de interfaz · sin telemetría
Por qué RulerSmith

Límites reales, no una estimación
Los tamaños proceden de UI Automation, el árbol que usan los lectores de pantalla, así que las sombras, los degradados y el suavizado no lo engañan como engañan a una regla de píxeles.
Las unidades que usted escribe
WPF y las páginas web usan unidades independientes del dispositivo: 76 × 32 es lo que escribe en XAML o CSS, y los píxeles de pantalla (152 × 64 al 200 %) se muestran debajo.
Solo mientras mantiene la tecla
No se calcula ni se dibuja nada hasta que mantiene la tecla. La superposición nunca recibe un clic ni el foco, y descansa mientras el depurador está en pausa.
Gratis y sin letra pequeña
Sin suscripción, sin versión «pro», sin recopilación de datos, sin mensajes en la ventana Salida ni al iniciar. Lo único que le pediremos —cuando ya la haya usado durante un tiempo— es una valoración en el Marketplace. Funciona en Visual Studio 2022 y 2026, x64 y ARM64.
Características
- El tamaño del control bajo el puntero con su tipo (Button, ComboBox…), en las unidades de la aplicación y, en una pantalla escalada, en píxeles de pantalla.
- Espacios hasta los vecinos: el control más cercano en cada lado o, si no hay ninguno, el borde del contenedor: las líneas que trazaría a mano.
- PPP (DPI) por monitor: se tiene en cuenta la escala de cada monitor, y las aplicaciones WinForms y Win32 se miden en sus propios píxeles, sean compatibles con PPP o no.
- El panel de RulerSmith: el nombre y el automation id del control, su tamaño, su posición y los espacios con el elemento en el que terminan; interruptores para la medición y para cada tipo de aplicación.
- Una aparición suave: el contorno aparece gradualmente y luego las flechas crecen desde el control; o todo a la vez, o sin animación.
- Ligado a la sesión de depuración: se inicia con F5, mide solo la aplicación depurada (y lo que esta abre, como WebView2 o el explorador de un proyecto web) y se detiene con la sesión.
Medición
Inicie la depuración, mantenga Ctrl+Shift y mueva el puntero sobre la aplicación. Un control nuevo se contornea, su tamaño aparece debajo y los espacios se extienden hasta los vecinos; los números siguen al puntero de control en control.

| En pantalla | Significado |
|---|---|
| Contorno fino | Los límites del control bajo el puntero. El texto o el icono dentro de un botón cuentan como el botón. |
| Button 76 × 32 152 × 64 px · 200 % | El tipo y el tamaño en las unidades de la aplicación; en una pantalla escalada, los píxeles de pantalla y la escala en una segunda línea. |
| Flecha continua | El espacio hasta el control más cercano en ese lado. Los controles que se tocan no muestran flecha. |
| Flecha discontinua | No hay ningún control en ese lado: el espacio hasta el borde del contenedor (el área cliente de una ventana). |
El panel de RulerSmith
Depurar → Panel de RulerSmith (también en Ver → Otras ventanas). La barra de herramientas activa y desactiva la medición (el mismo interruptor que Medir diseño en la barra de herramientas Depurar) y cada tipo de aplicación por separado: WPF, WinForms, Win32, Web. Debajo, la última medición: el nombre y el automation id del control (con él lo encuentra en XAML), su tamaño, su posición en la ventana y cada espacio con el control en el que termina. La línea de estado indica por qué no se dibuja nada: sin depurar, en pausa en un punto de interrupción o medición desactivada.

Qué aplicaciones
RulerSmith lee los controles a través de UI Automation, así que mide lo que la aplicación expone ahí, que es lo que los controles estándar hacen de serie.
| Aplicación | Notas |
|---|---|
| WPF | Las unidades son independientes del dispositivo. Se omite la barra de herramientas XAML transparente que Visual Studio superpone a una aplicación WPF depurada; el contenido de las pestañas se encuentra. |
| Windows Forms | Las unidades son los píxeles de la aplicación: 1:1 en una aplicación compatible con PPP, estirados por Windows en una que no lo es. |
| Win32, MFC | Ventanas creadas con CreateWindow y cuadros de diálogo de recursos: botones, cuadros de texto, cuadros combinados, listas, árboles. |
| Páginas web | Edge, Chrome y Firefox durante la depuración: Visual Studio suele abrir un proyecto web en el explorador que ya está en ejecución. Las unidades son píxeles CSS. El interruptor Web del panel las desactiva. |
No compatibles: WinUI, UWP y MAUI. Un control personalizado que no crea un automation peer es invisible para UI Automation, y en su lugar se mide su contenedor.
Configuración
Herramientas → Opciones → SmithWorks → RulerSmith. Cada opción tiene una descripción.
| Opción | Predeterminado |
|---|---|
| Mantener para medir | Ctrl+Shift |
| Medir durante la depuración | activado |
| Mostrar píxeles de pantalla en pantallas escaladas | activado |
| Animar la aparición | activado |
| Hacer crecer las flechas de espacio desde el control | activado |
| Pedir una valoración en el Marketplace | activado |
La configuración se guarda en %LocalAppData%\RulerSmith.

Preguntas frecuentes
¿Envía RulerSmith algún dato?
No. Todo ocurre en su equipo: un pequeño proceso de superposición lee los controles a través de UI Automation y dibuja en la pantalla. Sin solicitudes de red, sin telemetría.
Solo se contornea la ventana entera (o un panel grande). ¿Por qué?
La aplicación no expone a UI Automation los controles que contiene; normalmente son controles personalizados sin automation peer. Si invalida OnCreateAutomationPeer en ese control, se podrá medir y también será accesible para los lectores de pantalla.
No se dibuja nada al mantener la tecla.
Compruebe que hay una sesión de depuración en ejecución y no en pausa, y que la línea de estado del panel dice Midiendo. Puede que un tipo de aplicación esté desactivado en el panel. Otro programa puede usar las mismas teclas: elija otra combinación en la configuración.
¿Por qué se detiene en un punto de interrupción?
Una aplicación en pausa no puede responder a UI Automation. La superposición descansa hasta que continúa (F5).
¿Serán compatibles WinUI, UWP o MAUI?
Por ahora no. Si los necesita, dígalo en el repositorio Feedback.
¿Puedo medir una aplicación sin Visual Studio?
Sí: ejecute RulerSmith.Overlay.exe desde la carpeta de la extensión. Se queda en el área de notificación y mide cualquier ventana mientras mantiene la tecla.
¿Dónde informo de un problema o sugiero una función?
Abra una incidencia en el repositorio Feedback de GitHub: hay formularios para errores e ideas (cambie los nombres privados). También puede usar la pestaña Q&A en Marketplace.
Historial de cambios
1.0.2
- Una única petición de valoración en el Marketplace, cuando la extensión ya le ha sido útil, con Más tarde y No volver a preguntar, y una opción para desactivarla.
1.0.1
- Enlace «Valorar en Marketplace» en la configuración.
1.0.0
- Primera versión pública.