Definire l'app e scrivere il primo prompt

Un primo prompt utile identifica la tecnologia, il comportamento dell'app, i vincoli e l'evidenza che mostrerà che il lavoro è stato completato. In questo modo si riduce la probabilità che l'assistente scelga un framework di Windows familiare ma non corretto.

Iniziare con i criteri di accettazione

Prima di richiedere il codice, definire ciò che si prevede di osservare:

  1. Il progetto viene compilato per x64 senza errori o avvisi.
  2. L'app usa WinUI 3 e Microsoft.UI.Xaml, non UWP e Windows.UI.Xaml.
  3. Un utente può aggiungere, completare ed eliminare un'attività.
  4. Le attività rimangono dopo il riavvio dell'app.
  5. Ogni input e comando ha un nome accessibile.
  6. I comandi rimangono disponibili quando la finestra è stretta.
  7. L'assistente illustra qualsiasi API che richiede l'inizializzazione dell'identità del pacchetto o della finestra.

Questi criteri trasformano una richiesta ampia in controlli che l'utente e l'assistente possono eseguire.

Imporre vincoli permanenti all'assistente

Aprire la cartella in cui si mantengono i progetti di sviluppo, avviare l'assistente per la codifica di intelligenza artificiale e usare questo prompt:

Create a C# WinUI 3 desktop app named TaskTally.

Technology constraints:
- Use WinUI 3 and the current stable Windows App SDK.
- Use Microsoft.UI.Xaml namespaces. Don't use UWP, Windows.UI.Xaml,
  WPF, Windows Forms, .NET MAUI, or third-party UI controls.
- Create a packaged app and build for x64.
- Start from the dotnet new winui-mvvm template.
- Use CommunityToolkit.Mvvm for observable properties and commands.

App requirements:
- Show a single-page task list.
- Let the user add, complete, and delete tasks.
- Save tasks as JSON in the app's local storage.
- Use ListView for the collection and InfoBar for save status.
- Include an empty state, keyboard access, accessible names, and a
  layout that works at narrow window widths.

Working agreement:
- First show your implementation plan and the files you will change.
- Make one small, buildable change at a time.
- Build after each change and fix errors before continuing.
- Explain which Learn documentation supports any Windows API choice.
- Don't suppress warnings or replace packaged deployment with an
  unpackaged workaround.

L'ultima sezione è importante. Chiede all'assistente di esplicitare le proprie assunzioni e produrre checkpoint più facili da verificare.

Esaminare il piano proposto

Prima di approvare le modifiche, verificare che il piano includa:

  • Modello per un'attività.
  • Modello di visualizzazione con una raccolta e comandi osservabili.
  • Un servizio di archiviazione.
  • XAML per la pagina.
  • Una piccola quantità di code-behind per eventi specifici della visualizzazione, se necessario.
  • Passaggi di compilazione e avvio per un'app WinUI in pacchetto.

Chiedere all'assistente di rivedere il piano se propone un database, l'inserimento delle dipendenze, più pagine o controlli personalizzati. Queste scelte possono essere valide in un'app più grande, ma aggiungono concetti che questa app per principianti non ha bisogno.

Creare il progetto

L'assistente deve eseguire comandi equivalenti a:

dotnet new winui-mvvm -n TaskTally
cd TaskTally
dotnet build -p:Platform=x64

Se usi Visual Studio, puoi invece creare un progetto WinUI C# in pacchetto e aggiungere MVVM Toolkit. Mantieni il nome del progetto TaskTally in modo che i namespace in questa esercitazione corrispondano a quelli del tutorial.

Note

Un'app WinUI in pacchetto deve essere distribuita con l'identità del pacchetto. Usa Visual Studio, dotnet run, con i modelli WinUI supportati oppure l'interfaccia della riga di comando winapp. Non avviare direttamente il generato .exe .

Esaminare il progetto generato

Chiedi:

Explain the purpose of App.xaml, MainWindow.xaml, MainPage.xaml,
Package.appxmanifest, and TaskTally.csproj. For each file, identify
the WinUI 3 or Windows App SDK setting that proves this isn't a UWP,
WPF, or MAUI project.

Verificare manualmente la spiegazione:

  • Il file di progetto contiene <UseWinUI>true</UseWinUI>.
  • Il progetto fa riferimento a Microsoft.WindowsAppSDK.
  • Il codice XAML usa i Microsoft.UI.Xaml tipi in C#.
  • Package.appxmanifest fornisce l'identità del pacchetto.
  • Il framework di destinazione include Windows, ad esempio net10.0-windows10.0.26100.0.

Creare il template non modificato prima di aggiungere funzionalità. Se la baseline non si compila, risolvi il problema relativo alla creazione dell'ambiente o del progetto prima di chiedere all'assistente di generare altro codice.