Files
PowerToys/doc/dsc/modules/AdvancedPaste.md
Gijs Reijn 3b6453c932 Improve DSC documentation (#42554)
<!-- 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>
2026-04-01 16:56:40 +08:00

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