microsoft/WinAppVSCE
TypeScript
Captured source
source ↗microsoft/WinAppVSCE
Description: The WinApp extension brings the Windows App Development CLI (WinApp CLI) into Visual Studio Code so you can initialize, debug, package, and sign Windows applications without leaving the editor.
Language: TypeScript
License: MIT
Stars: 13
Forks: 4
Open issues: 80
Created: 2026-06-19T17:33:36Z
Pushed: 2026-10-02T21:31:51Z
Default branch: main
Fork: no
Archived: no
README:
WinApp — VS Code Extension
The WinApp extension brings the Windows App Development CLI (WinApp CLI) into Visual Studio Code so you can initialize, debug, package, and sign Windows applications without leaving the editor.
> Status: Public Preview — The WinApp CLI and this extension are experimental and in active development. We'd love your feedback! File an issue.
Get Started
> The WinApp VS Code Extension is now available in the VS Code Marketplace.
Try the WinApp extension today: **VS Code Markplace**
Features
Command Palette
All commands are accessible from the Command Palette (Ctrl+Shift+P). Type WinApp to see the full list.
| Command | Description | |---------|-------------| | WinApp: Create WinUI App | Scaffold a new WinUI 3 app from an official Windows App SDK template. Pick a template, name it, and choose where it goes. Works with no folder open. Requires the .NET SDK. | | WinApp: Initialize Project | Set up a new project with the Windows SDK and/or Windows App SDK. Prompts for SDK channel (stable, preview, experimental, or none). | | WinApp: Restore Packages | Restore project packages and dependencies. | | WinApp: Update Packages | Update packages and dependencies to the latest versions. | | WinApp: Run Application | Run your app as a loose-layout packaged application with full package identity — great for testing APIs that require identity. | | WinApp: Create Debug Identity | Add sparse package identity to an existing executable so you can launch and debug it directly from VS Code with identity. | | WinApp: Unregister Package | Unregister a sideloaded development package (e.g., one registered via Run or Create Debug Identity). | | WinApp: Create MSIX Package | Package your application into an MSIX, with options to generate a certificate and bundle the runtime self-contained. If self-contained packaging appears to target a different architecture than your machine, WinApp shows a warning before continuing. On completion, a notification names the built package and offers Reveal in Explorer, Sign, and Install actions. | | WinApp: Generate Manifest | Generate an AppxManifest.xml from a template (packaged or sparse). | | WinApp: Add Manifest Execution Alias | Add an execution alias to the manifest so the packaged app can be launched from the command line. | | WinApp: Update Manifest Assets | Auto-generate all required app icon assets from a single source image (PNG, JPG, GIF, or BMP). | | WinApp: Generate Certificate | Create a development certificate for signing, with an option to also install (trust) it. Installing prompts for admin via a UAC window when VS Code isn't elevated. | | WinApp: Install Certificate | Install (trust) an existing .pfx or .cer certificate in the machine store. Prompts for admin via a UAC window when VS Code isn't elevated. | | WinApp: Certificate Info | Display certificate details (subject, thumbprint, expiry) to verify a certificate matches your manifest. | | WinApp: Open Manifest Editor | Discover workspace manifests, select one (or Browse… for another file), and open it in the AppxManifest Editor. | | WinApp: Sign File | Sign an MSIX/APPX package, executable, or library with a certificate. | | WinApp: Run SDK Tool | Run Windows SDK tools (makeappx, signtool, mt, makepri) with custom arguments. | | WinApp: Get WinApp Path | Show paths to installed SDK components. |
Workspace & Multi-Project Support
The extension supports workspaces where the app project is not at the root — such as monorepos, multi-app repositories, or nested project structures.
How it works:
When you run a project-context WinApp command — such as Initialize Project, Restore/Update Packages, Generate Manifest, Update Manifest Assets, Add Manifest Execution Alias, Generate Certificate, Unregister Package, or Get WinApp Path — the extension resolves the target project directory using this priority:
1. `winapp.appDirectories` setting — If specified in .vscode/settings.json, the extension uses these paths directly (no scanning). With one entry, it auto-selects; with multiple, it shows a QuickPick. 2. Project at workspace root — If a recognized project exists at the root, commands run there immediately. 3. Automatic scan — Searches the workspace for compatible projects and prompts if multiple are found.
Commands that already take an explicit target — such as Run Application, Create MSIX Package (input folder), Sign File (workspace QuickPick with file-dialog fallback), Install Certificate, and Certificate Info (file pickers) — operate on the file or folder you select and do not run project detection.
Configuration (optional):
To skip automatic scanning, add the winapp.appDirectories setting to your workspace:
// .vscode/settings.json
{
"winapp.appDirectories": [
"apps/my-app",
"apps/shell"
]
}| Scenario | Behavior | |----------|----------| | Setting has 1 entry | Project-context commands auto-target that directory | | Setting has multiple entries | QuickPick prompt to choose which project | | Setting is absent or empty | Falls back to auto-detection (see below) |
Auto-detection behavior (when setting is not configured):
| Scenario | Behavior | |----------|----------| | Project at workspace root | Command runs directly — no prompt | | No project at root, 1 project found elsewhere | Auto-selects that project | | No project at root, multiple projects found | Shows a QuickPick list to choose which project to target | | No projects found anywhere | Falls back to workspace root (the CLI will report an error if initialization is required) |
Supported project types: .NET (WPF, WinForms, WinUI 3, Console), Electron, Tauri, Flutter, Rust, and C++ (CMake)....
Excerpt shown — open the source for the full document.
Notability
notability 4.0/10Routine new repo, no traction info.