用于Windows开发的 VS Code 工具

两个 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

或在“扩展”面板中搜索 WinAppCtrl+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

  1. dotnet new winui-navview -n MyApp — 基架项目
  2. cd MyApp && dotnet run — 生成并验证它是否运行
  3. code . — 在 VS Code 中打开
  4. Ctrl+Shift+P → WinApp:运行应用程序 — 使用包标识运行
  5. 通过 AI 帮助编辑 XAML 和 C# 文件
  6. Ctrl+Shift+P → WinApp:创建 MSIX 包 - 分发包
  7. 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发行说明和迁移指南
  • winapp CLI 命令参考
  • 商店提交要求和认证标准

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 服务器处理文档检索。