Strumenti di VS Code per lo sviluppo di Windows

Due strumenti vs Code completano il flusso di lavoro di sviluppo Windows assistito dall'intelligenza artificiale: l'estensione WinApp porta l'interfaccia della riga di comando di sviluppo app di Windows nell'editor e Microsoft Learn MCP Server consente all'agente di intelligenza artificiale di accedere in tempo reale alla documentazione corrente Windows.

Estensione WinApp VS Code

L'estensione WinApp porta l'interfaccia della riga di comando di sviluppo app di Windows in VS Code: inizializzare, eseguire, eseguire, eseguire il debug, creare un pacchetto e firmare le app Windows senza uscire dall'editor.

Note

L'estensione è in versione preliminare. Le funzionalità e i comandi possono cambiare. Commenti e suggerimenti dei file.

Install

code --install-extension microsoft-winappcli.winapp

In alternativa, cercare WinApp nel pannello Estensioni (CTRL+MAIUSC+X). Richiede che WinApp CLI sia già installato.

Palette dei comandi

Tutti i comandi sono disponibili tramite CTRL+MAIUSC+P → WinApp:

Comando Funzionamento
WinApp: Inizializza progetto Configurare un nuovo progetto con Windows SDK e/o SDK per app di Windows
WinApp: Eseguire l'applicazione Eseguire l'app come pacchetto di layout libero con identità completa del pacchetto
WinApp: Creare un pacchetto MSIX Crea un pacchetto MSIX per la tua app
WinApp: Crea un'identità di debug Aggiungere un'identità di pacchetto sparse a un eseguibile esistente per il debug
WinApp: Annullare la registrazione del pacchetto Rimuovere un pacchetto di sviluppo caricato localmente
WinApp: Genera manifest Generare un oggetto AppxManifest.xml da un modello
WinApp: Aggiungi alias di esecuzione del manifest Aggiungere un alias di esecuzione al manifest dell'app
WinApp: Aggiorna gli asset del manifest Generare tutti gli asset icona dell'app necessari da un'unica immagine di origine
WinApp: Genera certificato Creare un certificato di firma di sviluppo
WinApp: Informazioni sul certificato Visualizzare i dettagli relativi a un file di certificato
WinApp: Installa certificato Installare un .pfx certificato o .cer (richiede l'amministratore)
WinApp: Firma del pacchetto Firmare un pacchetto MSIX con un certificato
WinApp: Ripristinare i pacchetti Ripristina i pacchetti e le dipendenze del progetto
WinApp: Aggiornare i pacchetti Aggiornare i pacchetti alle versioni più recenti
WinApp: Ottieni percorso WinApp Mostra il percorso dell'eseguibile CLI di WinApp installato
WinApp: Eseguire lo strumento SDK Eseguire direttamente gli strumenti Windows SDK

Flusso di lavoro

  1. dotnet new winui-navview -n MyApp — progetto di scaffolding
  2. cd MyApp && dotnet run — compilare e verificare che venga eseguito
  3. code . — aperto in VS Code
  4. Ctrl+Shift+P → WinApp: Esegui l'applicazione — esegui con l'identità del pacchetto
  5. Modificare i file XAML e C# con assistenza per intelligenza artificiale
  6. Ctrl+Shift+P → WinApp: Create MSIX Package — pacchetto per la distribuzione
  7. winapp store publish ./*.msix --appId <your-app-id> — pubblicare nello Store

Server MCP di Microsoft Learn

I modelli di intelligenza artificiale vengono sottoposti a training su uno snapshot del Web. Per lo sviluppo di Windows, questo significa che l'agente potrebbe aver appreso dagli esempi di macchine virtuali Windows e UWP scritti anni prima dell'esistenza di WinUI 3 e non può indicare la differenza. Il Microsoft Learn MCP Server corregge questo problema assegnando all'agente uno strumento che può chiamare per recuperare documentazione autorevole al momento necessario.

Che cos'è MCP?

Il protocollo MCP (Model Context Protocol) è uno standard aperto che consente agli agenti di intelligenza artificiale di chiamare strumenti esterni e origini dati durante una conversazione. Invece di basarsi interamente sui dati di training, un agente connesso a MCP può cercare e leggere contenuto live, incluso Microsoft Learn, prima di generare una risposta.

Aggiungere il server MCP di Microsoft Learn

Il server è ospitato da Microsoft e non richiede alcuna installazione o accesso.

VS Code (GitHub Copilot)

Aggiungere quanto segue a .vscode/mcp.json nel progetto:

{
  "servers": {
    "microsoft-learn": {
      "type": "http",
      "url": "https://learn.microsoft.com/api/mcp"
    }
  }
}

VS Code chiederà di abilitare il server la prima volta che si apre una sessione di chat Copilot.

Claude Code

Aggiungere il server alla configurazione di Claude Code (~/.claude/mcp_servers.json):

{
  "microsoft-learn": {
    "type": "http",
    "url": "https://learn.microsoft.com/api/mcp"
  }
}

Altri clienti MCP

Qualsiasi client che supporta il trasporto HTTP MCP può connettersi tramite:

https://learn.microsoft.com/api/mcp

Non è richiesta alcuna chiave API o autenticazione.

Operazioni che il server può eseguire

Dopo la connessione, l'agente può cercare e recuperare pagine da Microsoft Learn. Nello sviluppo per Windows, questo significa che può individuare:

  • API di controllo e modelli di utilizzo di WinUI 3 correnti
  • SDK per app di Windows note sulla versione e guide alla migrazione
  • winapp Riferimento dei comandi CLI
  • Requisiti di invio allo Store e criteri di certificazione

Example

Senza il server MCP, chiedere a Copilot di aggiungere un selettore file potrebbe generare codice che usa il pattern UWP deprecato FileOpenPicker:

// ❌ UWP pattern — may be generated without MCP context
var picker = new FileOpenPicker();
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;

Con il server MCP connesso, l'agente recupera le linee guida winUI 3 correnti e genera il modello corretto:

// ✅ 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

Per indicazioni più approfondite specifiche di WinUI, combinare il server MCP con il plug-in dell'agente WinUI. Il plug-in gestisce i modelli di codifica; il server MCP gestisce il recupero della documentazione.