Dev doc: Work in vscode (#41704)
<!-- 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
Doc and debugging setting in vscode.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] 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
This pull request adds support for developing and debugging PowerToys
using Visual Studio Code by introducing a new launch configuration and
comprehensive developer documentation. These changes make it easier for
contributors to build, debug, and iterate on both native and managed
components of PowerToys within VS Code.
**VS Code integration and developer workflow:**
* Added `.vscode/launch.json` with configurations for launching and
attaching to native (`PowerToys.exe`) and managed
(`PowerToys.Settings.exe`) processes, supporting both C++ and .NET
debugging scenarios.
* Introduced `doc/devdocs/development/dev-with-vscode.md`, a detailed
guide covering VS Code setup, building, debugging, and common developer
workflows for the PowerToys project. This includes extension
recommendations, shell integration, sample build commands, and
troubleshooting tips.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
Can debug locally in vscode
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-11 16:12:53 +08:00
|
|
|
{
|
|
|
|
|
"version": "0.2.0",
|
|
|
|
|
"inputs": [
|
|
|
|
|
{
|
|
|
|
|
"id": "arch",
|
|
|
|
|
"type": "pickString",
|
|
|
|
|
"description": "Select target architecture",
|
|
|
|
|
"options": ["x64", "arm64"],
|
|
|
|
|
"default": "x64"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"configurations": [
|
|
|
|
|
{
|
|
|
|
|
"name": "Run native executable (no build)",
|
|
|
|
|
"type": "cppvsdbg",
|
|
|
|
|
"request": "launch",
|
|
|
|
|
"program": "${workspaceFolder}\\${input:arch}\\Debug\\PowerToys.exe",
|
|
|
|
|
"args": [],
|
|
|
|
|
"stopAtEntry": false,
|
|
|
|
|
"cwd": "${workspaceFolder}",
|
|
|
|
|
"environment": [],
|
|
|
|
|
"console": "integratedTerminal"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "C/C++ Attach to PowerToys Process (native)",
|
|
|
|
|
"type": "cppvsdbg",
|
|
|
|
|
"request": "attach",
|
|
|
|
|
"processId": "${command:pickProcess}",
|
|
|
|
|
"symbolSearchPath": "${workspaceFolder}\\${input:arch}\\Debug;${workspaceFolder}\\Debug;${workspaceFolder}\\symbols"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "Run managed code (managed, no build, ARCH configurable)",
|
|
|
|
|
"type": "coreclr",
|
|
|
|
|
"request": "launch",
|
|
|
|
|
"program": "${workspaceFolder}\\${input:arch}\\Debug\\WinUI3Apps\\PowerToys.Settings.exe",
|
|
|
|
|
"args": [],
|
|
|
|
|
"cwd": "${workspaceFolder}",
|
|
|
|
|
"env": {},
|
|
|
|
|
"console": "internalConsole",
|
|
|
|
|
"stopAtEntry": false
|
2025-11-05 16:13:55 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "Run AdvancedPaste (managed, no build, ARCH configurable)",
|
|
|
|
|
"type": "coreclr",
|
|
|
|
|
"request": "launch",
|
|
|
|
|
"program": "${workspaceFolder}\\${input:arch}\\Debug\\WinUI3Apps\\PowerToys.AdvancedPaste.exe",
|
|
|
|
|
"args": [],
|
|
|
|
|
"cwd": "${workspaceFolder}",
|
|
|
|
|
"env": {},
|
|
|
|
|
"console": "internalConsole",
|
|
|
|
|
"stopAtEntry": false
|
|
|
|
|
},
|
Dev doc: Work in vscode (#41704)
<!-- 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
Doc and debugging setting in vscode.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] 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
This pull request adds support for developing and debugging PowerToys
using Visual Studio Code by introducing a new launch configuration and
comprehensive developer documentation. These changes make it easier for
contributors to build, debug, and iterate on both native and managed
components of PowerToys within VS Code.
**VS Code integration and developer workflow:**
* Added `.vscode/launch.json` with configurations for launching and
attaching to native (`PowerToys.exe`) and managed
(`PowerToys.Settings.exe`) processes, supporting both C++ and .NET
debugging scenarios.
* Introduced `doc/devdocs/development/dev-with-vscode.md`, a detailed
guide covering VS Code setup, building, debugging, and common developer
workflows for the PowerToys project. This includes extension
recommendations, shell integration, sample build commands, and
troubleshooting tips.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
Can debug locally in vscode
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-11 16:12:53 +08:00
|
|
|
]
|
|
|
|
|
}
|