Windows開発用の VS Code ツール

WinApp 拡張機能の 2 つの VS Code ツールが AI 支援Windows開発ワークフローをまとめ、Windows アプリ開発 CLI をエディターに取り込み、Microsoft Learn MCP Server を使用して、AI エージェントに現在のWindowsドキュメントへのライブ アクセスを提供します。

WinApp VS Code 拡張機能

WinApp 拡張機能を使うと、Windows アプリ開発 CLI を VS Code で利用できるようになり、エディターを離れることなく、Windows アプリの初期化、実行、デバッグ、パッケージ化、署名を行えます。

Note

拡張機能はプレリリース段階です。 機能とコマンドが変更される場合があります。 ファイルのフィードバック

Install

code --install-extension microsoft-winappcli.winapp

または、[拡張機能] パネルで WinApp を検索します (Ctrl + Shift + X)。 最初に WinApp CLI をインストールする必要があります。

コマンド パレットのコマンド

すべてのコマンドは、 Ctrl + Shift + P → WinApp で使用できます。

Command それが何をするか
WinApp: プロジェクトの初期化 Windows SDK または Windows アプリ SDK を使用して新しいプロジェクトを設定する
WinApp: アプリケーションの実行 完全なパッケージ ID を持つルーズ レイアウト パッケージとして、アプリを実行する
WinApp: MSIX パッケージを作成する MSIX インストーラーにアプリをパッケージ化する
WinApp: デバッグ ID の作成 デバッグのために既存の実行可能ファイルにスパース パッケージ ID を追加する
WinApp: パッケージの登録解除 サイドロードされた開発パッケージを削除する
WinApp: マニフェストの生成 テンプレートから AppxManifest.xml を生成する
WinApp: マニフェスト実行エイリアスの追加 アプリ マニフェストに実行エイリアスを追加する
WinApp: マニフェスト資産の更新 1 つのソース イメージから必要なすべてのアプリ アイコン アセットを生成する
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: アプリケーションの実行 - パッケージ ID を使用して実行
  5. AI 支援を使用して XAML ファイルと C# ファイルを編集する
  6. Ctrl + Shift + P → WinApp: MSIX パッケージの作成 - 配布用パッケージ
  7. winapp store publish ./*.msix --appId <your-app-id> — ストアに公開する

Microsoft Learn MCP サーバー

AI モデルは、Web のスナップショットでトレーニングされます。 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 コマンド リファレンス
  • ストアの申請要件と認定基準

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();

Tip

WinUI 固有の詳細なガイダンスについては、MCP サーバーと WinUI エージェント プラグインを組み合わせます。 プラグインはコーディングパターンを処理します。MCP サーバーはドキュメントの取得を処理します。