两个 VS Code 工具总结了 AI 辅助的Windows开发工作流:WinApp 扩展将Windows 应用开发 CLI 引入编辑器,Microsoft Learn MCP Server使 AI 代理实时访问当前Windows文档。
WinApp VS Code 扩展
WinApp 扩展将 Windows 应用 开发 CLI 引入 VS Code — 初始化、运行、调试、打包和签名Windows应用,而无需离开编辑器。
注释
扩展处于预发行版中。 功能和命令可能会更改。 文件反馈。
Install
code --install-extension microsoft-winappcli.winapp
或在“扩展”面板中搜索 WinApp (Ctrl+Shift+X)。 要求首先安装 WinApp CLI 。
命令面板命令
所有命令都可通过 Ctrl+Shift+P → WinApp 获得:
| Command | 它的作用是什么 |
|---|---|
| WinApp:初始化项目 | 使用 Windows SDK 和/或Windows 应用 SDK设置新项目 |
| WinApp:运行应用程序 | 将应用作为松散布局程序包运行,并具有完整的程序包标识 |
| WinApp:创建 MSIX 包 | 将应用打包到 MSIX 安装程序中 |
| WinApp:创建调试标识 | 为调试向现有可执行文件添加稀疏包标识 |
| WinApp:取消注册程序包 | 删除旁加载的开发包 |
| WinApp:生成清单 | 从模板生成 AppxManifest.xml |
| WinApp:添加清单执行别名 | 向应用清单添加执行别名 |
| WinApp:更新清单资产 | 从单个源图像生成所有必需的应用图标资产 |
| WinApp:生成证书 | 创建开发签名证书 |
| WinApp:证书信息 | 查看有关证书文件的详细信息 |
| WinApp:安装证书 | 安装 .pfx 或 .cer 证书(需要管理员权限) |
| WinApp:签名包 | 使用证书对 MSIX 包进行签名 |
| WinApp:还原程序包 | 还原项目包和依赖项 |
| WinApp:更新包 | 将包更新到最新版本 |
| WinApp:获取 WinApp 路径 | 显示已安装的 WinApp CLI 可执行文件的路径 |
| WinApp:运行 SDK 工具 | 直接运行 Windows SDK 工具 |
Workflow
-
dotnet new winui-navview -n MyApp— 基架项目 -
cd MyApp && dotnet run— 生成并验证它是否运行 -
code .— 在 VS Code 中打开 - Ctrl+Shift+P → WinApp:运行应用程序 — 使用包标识运行
- 通过 AI 帮助编辑 XAML 和 C# 文件
- Ctrl+Shift+P → WinApp:创建 MSIX 包 - 分发包
-
winapp store publish ./*.msix --appId <your-app-id>— 发布到应用商店
Microsoft Learn MCP 服务器
AI 模型是基于互联网快照进行训练的。 对于 Windows 开发而言,这意味着你的智能体可能是基于在 WinUI 3 出现前数年编写的 WPF 和 UWP 示例进行学习的——而且它自己分不清其中的差别。 Microsoft Learn MCP 服务器通过为你的代理提供一个可调用的工具,解决了这一问题,使其能够在需要时获取最新且权威的文档。
什么是 MCP?
模型上下文协议(MCP)是一种开放标准,允许 AI 代理在对话期间调用外部工具和数据源。 MCP 连接的代理可以在生成响应之前搜索和读取实时内容(包括Microsoft Learn),而不是完全依赖于训练数据。
添加Microsoft Learn MCP 服务器
服务器由Microsoft托管,无需安装或登录。
VS Code (GitHub Copilot)
将以下内容添加到项目中的 .vscode/mcp.json:
{
"servers": {
"microsoft-learn": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
}
VS Code 将在首次打开Copilot聊天会话时提示启用服务器。
Claude Code
将服务器添加到 Claude Code 配置(~/.claude/mcp_servers.json):
{
"microsoft-learn": {
"type": "http",
"url": "https://learn.microsoft.com/api/mcp"
}
}
其他 MCP 客户端
支持 MCP HTTP 传输的任何客户端都可以使用:
https://learn.microsoft.com/api/mcp
不需要 API 密钥或身份验证。
服务器可以执行的操作
连接后,代理可以从 Microsoft Learn 中搜索和检索页面。 对于 Windows 开发而言,这意味着它可以查找:
- 当前 WinUI 3 控制 API 和使用模式
- Windows 应用 SDK发行说明和迁移指南
-
winappCLI 命令参考 - 商店提交要求和认证标准
Example
如果没有 MCP 服务器,要求Copilot添加文件选取器可能会使用弃用的 UWP FileOpenPicker 模式生成代码:
// ❌ UWP pattern — may be generated without MCP context
var picker = new FileOpenPicker();
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
连接 MCP 服务器后,代理将检索当前的 WinUI 3 指南并生成正确的模式:
// ✅ WinUI 3 pattern — retrieved from current docs
var picker = new FileOpenPicker();
var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
WinRT.Interop.InitializeWithWindow.Initialize(picker, hwnd);
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
var file = await picker.PickSingleFileAsync();
小窍门
如需更深入的 WinUI 专属指导,可将 MCP 服务器与 WinUI 代理插件 结合使用。 插件处理编码模式;MCP 服务器处理文档检索。