mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 09:46:54 +02:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This documentation enhances the DSC documentation by incorporating reference documents and providing examples. Closes #42552. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Niels Laute <niels.laute@live.nl>
255 lines
5.7 KiB
Markdown
255 lines
5.7 KiB
Markdown
---
|
|
description: DSC configuration reference for PowerToys MeasureTool module
|
|
ms.date: 10/18/2025
|
|
ms.topic: reference
|
|
title: MeasureTool Module
|
|
---
|
|
|
|
# MeasureTool Module
|
|
|
|
## Synopsis
|
|
|
|
Manages configuration for the Measure Tool (Screen Ruler) utility, which
|
|
measures pixels on your screen.
|
|
|
|
## Description
|
|
|
|
The `MeasureTool` module configures PowerToys Measure Tool (also known as
|
|
Screen Ruler), a utility that allows you to measure the distance between two
|
|
points on your screen in pixels. It's useful for designers, developers, and
|
|
anyone who needs to measure UI elements or screen distances.
|
|
|
|
## Properties
|
|
|
|
The MeasureTool module supports the following configurable properties:
|
|
|
|
### ActivationShortcut
|
|
|
|
Sets the keyboard shortcut to activate the measure tool.
|
|
|
|
**Type:** object
|
|
**Properties:**
|
|
|
|
- `win` (boolean) - Windows key modifier
|
|
- `ctrl` (boolean) - Ctrl key modifier
|
|
- `alt` (boolean) - Alt key modifier
|
|
- `shift` (boolean) - Shift key modifier
|
|
- `code` (integer) - Virtual key code
|
|
- `key` (string) - Key name
|
|
|
|
**Default:** `Win+Shift+M`
|
|
|
|
### ContinuousCapture
|
|
|
|
Controls whether continuous capture mode is enabled.
|
|
|
|
**Type:** boolean
|
|
**Default:** `false`
|
|
|
|
### DrawFeetOnCross
|
|
|
|
Controls whether measurement lines extend to screen edges.
|
|
|
|
**Type:** boolean
|
|
**Default:** `true`
|
|
|
|
### PerColorChannelEdgeDetection
|
|
|
|
Controls whether edge detection is per-color-channel or luminosity-based.
|
|
|
|
**Type:** boolean
|
|
**Default:** `false`
|
|
|
|
### PixelTolerance
|
|
|
|
Sets the pixel tolerance for edge detection (0-255).
|
|
|
|
**Type:** integer
|
|
**Range:** `0` to `255`
|
|
**Default:** `30`
|
|
|
|
### MeasureCrossColor
|
|
|
|
Sets the color of the measurement crosshair.
|
|
|
|
**Type:** string (hex color)
|
|
**Format:** `"#RRGGBBAA"` (with alpha)
|
|
**Default:** `"#FF4500FF"`
|
|
|
|
## Examples
|
|
|
|
### Example 1 - Configure activation shortcut with direct execution
|
|
|
|
This example customizes the measure tool activation shortcut.
|
|
|
|
```powershell
|
|
$config = @{
|
|
settings = @{
|
|
properties = @{
|
|
ActivationShortcut = @{
|
|
win = $true
|
|
ctrl = $false
|
|
alt = $false
|
|
shift = $true
|
|
code = 77
|
|
key = "M"
|
|
}
|
|
}
|
|
name = "MeasureTool"
|
|
version = "1.0"
|
|
}
|
|
} | ConvertTo-Json -Depth 10 -Compress
|
|
|
|
PowerToys.DSC.exe set --resource 'settings' --module MeasureTool `
|
|
--input $config
|
|
```
|
|
|
|
### Example 2 - Configure measurement appearance with DSC
|
|
|
|
This example customizes the crosshair color and measurement behavior.
|
|
|
|
```bash
|
|
dsc config set --file measuretool-appearance.dsc.yaml
|
|
```
|
|
|
|
```yaml
|
|
# measuretool-appearance.dsc.yaml
|
|
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
|
|
resources:
|
|
- name: Configure Measure Tool appearance
|
|
type: Microsoft.PowerToys/MeasureToolSettings
|
|
properties:
|
|
settings:
|
|
properties:
|
|
MeasureCrossColor: "#00FF00FF"
|
|
DrawFeetOnCross: true
|
|
ContinuousCapture: false
|
|
name: MeasureTool
|
|
version: 1.0
|
|
```
|
|
|
|
### Example 3 - Install and configure with WinGet
|
|
|
|
This example installs PowerToys and configures Measure Tool with edge
|
|
detection.
|
|
|
|
```bash
|
|
winget configure winget-measuretool.yaml
|
|
```
|
|
|
|
```yaml
|
|
# winget-measuretool.yaml
|
|
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
|
|
metadata:
|
|
winget:
|
|
processor: dscv3
|
|
resources:
|
|
- name: Install PowerToys
|
|
type: Microsoft.WinGet.DSC/WinGetPackage
|
|
properties:
|
|
id: Microsoft.PowerToys
|
|
source: winget
|
|
|
|
- name: Configure Measure Tool
|
|
type: Microsoft.PowerToys/MeasureToolSettings
|
|
properties:
|
|
settings:
|
|
properties:
|
|
PixelTolerance: 20
|
|
PerColorChannelEdgeDetection: true
|
|
DrawFeetOnCross: true
|
|
name: MeasureTool
|
|
version: 1.0
|
|
```
|
|
|
|
### Example 4 - High contrast configuration
|
|
|
|
This example configures for high visibility measurements.
|
|
|
|
```bash
|
|
dsc config set --file measuretool-highcontrast.dsc.yaml
|
|
```
|
|
|
|
```yaml
|
|
# measuretool-highcontrast.dsc.yaml
|
|
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
|
|
resources:
|
|
- name: High contrast Measure Tool
|
|
type: Microsoft.PowerToys/MeasureToolSettings
|
|
properties:
|
|
settings:
|
|
properties:
|
|
MeasureCrossColor: "#FFFF00FF"
|
|
DrawFeetOnCross: true
|
|
name: MeasureTool
|
|
version: 1.0
|
|
```
|
|
|
|
### Example 5 - Continuous capture mode
|
|
|
|
This example enables continuous capture for repeated measurements.
|
|
|
|
```powershell
|
|
$config = @{
|
|
settings = @{
|
|
properties = @{
|
|
ContinuousCapture = $true
|
|
PixelTolerance = 25
|
|
}
|
|
name = "MeasureTool"
|
|
version = "1.0"
|
|
}
|
|
} | ConvertTo-Json -Depth 10 -Compress
|
|
|
|
PowerToys.DSC.exe set --resource 'settings' --module MeasureTool --input $config
|
|
```
|
|
|
|
## Use cases
|
|
|
|
### UI/UX design
|
|
|
|
Configure for design work with precise measurements:
|
|
|
|
```yaml
|
|
resources:
|
|
- name: Design configuration
|
|
type: Microsoft.PowerToys/MeasureToolSettings
|
|
properties:
|
|
settings:
|
|
properties:
|
|
PixelTolerance: 15
|
|
DrawFeetOnCross: true
|
|
name: MeasureTool
|
|
version: 1.0
|
|
```
|
|
|
|
### Web development
|
|
|
|
Configure for layout debugging:
|
|
|
|
```yaml
|
|
resources:
|
|
- name: Developer configuration
|
|
type: Microsoft.PowerToys/MeasureToolSettings
|
|
properties:
|
|
settings:
|
|
properties:
|
|
ContinuousCapture: true
|
|
MeasureCrossColor: "#0078D7FF"
|
|
name: MeasureTool
|
|
version: 1.0
|
|
```
|
|
|
|
## See also
|
|
|
|
- [Settings Resource][01]
|
|
- [PowerToys DSC Overview][02]
|
|
- [PowerAccent][03]
|
|
- [PowerToys Screen Ruler Documentation][04]
|
|
|
|
<!-- Link reference definitions -->
|
|
[01]: ../settings-resource.md
|
|
[02]: ../overview.md
|
|
[03]: ./PowerAccent.md
|
|
[04]: https://learn.microsoft.com/windows/powertoys/screen-ruler
|