<!-- 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>
6.2 KiB
description, ms.date, ms.topic, title
| description | ms.date | ms.topic | title |
|---|---|---|---|
| DSC configuration reference for PowerToys AdvancedPaste module | 10/18/2025 | reference | AdvancedPaste Module |
AdvancedPaste Module
Synopsis
Manages configuration for the Advanced Paste utility, which provides advanced clipboard operations and custom paste formats.
Description
The AdvancedPaste module configures PowerToys Advanced Paste, a utility
that extends clipboard functionality with AI-powered transformations, custom
formats, and advanced paste options. It allows you to paste clipboard content
with transformations like plain text conversion, markdown formatting, JSON
formatting, and AI-based text processing.
Properties
The AdvancedPaste module supports the following configurable properties:
IsAdvancedAIEnabled
Controls whether AI-powered paste transformations are enabled.
Type: boolean
Default: false
Description: Enables AI-based clipboard transformations such as
summarization, translation, and content reformatting.
PasteAsPlainTextHotkey
Sets the keyboard shortcut for pasting as plain text.
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: Ctrl+Win+V
PasteAsMarkdownHotkey
Sets the keyboard shortcut for pasting as markdown.
Type: object (same structure as PasteAsPlainTextHotkey)
Default: Ctrl+Win+Shift+V
PasteAsJsonHotkey
Sets the keyboard shortcut for pasting as JSON.
Type: object (same structure as PasteAsPlainTextHotkey)
ShowCustomPreview
Controls whether a preview window is shown before pasting custom formats.
Type: boolean
Default: true
CloseAfterLosingFocus
Controls whether the Advanced Paste window closes when it loses focus.
Type: boolean
Default: false
Examples
Example 1 - Enable AI features with direct execution
This example enables AI-powered paste transformations.
$config = @{
settings = @{
properties = @{
IsAdvancedAIEnabled = $true
}
name = "AdvancedPaste"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
PowerToys.DSC.exe set --resource 'settings' --module AdvancedPaste `
--input $config
Example 2 - Configure paste hotkeys with DSC
This example customizes keyboard shortcuts for different paste formats.
dsc config set --file advancedpaste-hotkeys.dsc.yaml
# advancedpaste-hotkeys.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure Advanced Paste hotkeys
type: Microsoft.PowerToys/AdvancedPasteSettings
properties:
settings:
properties:
PasteAsPlainTextHotkey:
win: true
ctrl: true
alt: false
shift: false
code: 86
key: V
PasteAsMarkdownHotkey:
win: true
ctrl: true
alt: false
shift: true
code: 86
key: V
name: AdvancedPaste
version: 1.0
Example 3 - Install and configure with WinGet
This example installs PowerToys and configures Advanced Paste with AI enabled.
winget configure winget-advancedpaste.yaml
# winget-advancedpaste.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 Advanced Paste
type: Microsoft.PowerToys/AdvancedPasteSettings
properties:
settings:
properties:
IsAdvancedAIEnabled: true
ShowCustomPreview: true
CloseAfterLosingFocus: true
name: AdvancedPaste
version: 1.0
Example 4 - Enable with custom preview settings
This example configures preview behavior for custom paste formats.
dsc config set --file advancedpaste-preview.dsc.yaml
# advancedpaste-preview.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure preview settings
type: Microsoft.PowerToys/AdvancedPasteSettings
properties:
settings:
properties:
ShowCustomPreview: true
CloseAfterLosingFocus: false
name: AdvancedPaste
version: 1.0
Example 5 - Test AI enablement
This example tests whether AI features are enabled.
$desired = @{
settings = @{
properties = @{
IsAdvancedAIEnabled = $true
}
name = "AdvancedPaste"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
$result = PowerToys.DSC.exe test --resource 'settings' `
--module AdvancedPaste --input $desired | ConvertFrom-Json
if ($result._inDesiredState) {
Write-Host "AI features are enabled"
} else {
Write-Host "AI features need to be enabled"
}
Use cases
Development workflow
Enable AI transformations for code snippets and documentation:
resources:
- name: Developer paste settings
type: Microsoft.PowerToys/AdvancedPasteSettings
properties:
settings:
properties:
IsAdvancedAIEnabled: true
ShowCustomPreview: true
name: AdvancedPaste
version: 1.0
Content creation
Configure for markdown and formatted text operations:
resources:
- name: Content creator settings
type: Microsoft.PowerToys/AdvancedPasteSettings
properties:
settings:
properties:
ShowCustomPreview: true
CloseAfterLosingFocus: false
name: AdvancedPaste
version: 1.0
See also
- Settings Resource
- PowerToys DSC Overview
- ColorPicker Module - System-wide color picker utility
- PowerToys Advanced Paste Documentation