<!-- 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>
5.7 KiB
description, ms.date, ms.topic, title
| description | ms.date | ms.topic | title |
|---|---|---|---|
| DSC configuration reference for PowerToys MeasureTool module | 10/18/2025 | reference | 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 modifierctrl(boolean) - Ctrl key modifieralt(boolean) - Alt key modifiershift(boolean) - Shift key modifiercode(integer) - Virtual key codekey(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.
$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.
dsc config set --file measuretool-appearance.dsc.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.
winget configure winget-measuretool.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.
dsc config set --file measuretool-highcontrast.dsc.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.
$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:
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:
resources:
- name: Developer configuration
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
ContinuousCapture: true
MeasureCrossColor: "#0078D7FF"
name: MeasureTool
version: 1.0