Definir o aplicativo e gravar o primeiro prompt

Um primeiro prompt útil identifica a tecnologia, o comportamento do aplicativo, as restrições e as evidências que mostrarão que o trabalho está concluído. Isso reduz a chance de o assistente escolher uma estrutura de Windows familiar, mas incorreta.

Comece com critérios de aceitação

Antes de solicitar código, defina o que você espera observar:

  1. O projeto é criado para x64 sem erros ou avisos.
  2. O aplicativo usa WinUI 3 e Microsoft.UI.Xaml, não UWP e Windows.UI.Xaml.
  3. Um usuário pode adicionar, concluir e excluir uma tarefa.
  4. As tarefas permanecem após a reinicialização do aplicativo.
  5. Cada entrada e comando tem um nome acessível.
  6. Os comandos permanecem disponíveis quando a janela é estreita.
  7. O assistente explica qualquer API que exija a identidade do pacote ou a inicialização da janela.

Esses critérios transformam uma solicitação ampla em verificações que você e o assistente podem executar.

Conceder restrições duráveis ao assistente

Abra a pasta em que você mantém projetos de desenvolvimento, inicie o assistente de codificação de IA e use este 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.

A última seção é importante. Ele pede ao assistente para expor suas suposições e produzir pontos de verificação mais fáceis de inspecionar.

Inspecionar o plano proposto

Antes de aprovar edições, verifique se o plano inclui:

  • Um modelo para uma tarefa.
  • Um modelo de exibição com uma coleção observável e comandos.
  • Um serviço de armazenamento.
  • XAML para a página.
  • Uma pequena quantidade de código de retaguarda para eventos específicos da visualização, se necessário.
  • Etapas para compilar e iniciar um aplicativo WinUI empacotado.

Peça ao assistente para revisar seu plano se ele propor um banco de dados, injeção de dependência, várias páginas ou controles personalizados. Essas opções podem ser válidas em um aplicativo maior, mas elas adicionam conceitos de que esse aplicativo iniciante não precisa.

Criar o projeto

O assistente deve executar comandos equivalentes a:

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

Se você usar Visual Studio, poderá criar um projeto WinUI em C# empacotado e adicionar o Kit de Ferramentas do MVVM. Mantenha o nome TaskTally do projeto para que os namespaces neste tutorial correspondam.

Note

Um aplicativo WinUI empacotado deve ser implantado com sua identidade de pacote. Use o Visual Studio, dotnet run, com os modelos WinUI com suporte, ou a CLI winapp. Não execute diretamente o .exe gerado.

Inspecionar o projeto gerado

Pergunte:

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.

Verifique a explicação por conta própria:

  • O arquivo de projeto contém <UseWinUI>true</UseWinUI>.
  • O projeto faz referência a Microsoft.WindowsAppSDK.
  • O código XAML usa tipos Microsoft.UI.Xaml em C#.
  • Package.appxmanifest fornece a identidade do pacote.
  • O framework de destino inclui o Windows, como net10.0-windows10.0.26100.0.

Crie o modelo inalterado antes de adicionar recursos. Se a configuração inicial não compilar, corrija o problema na configuração do ambiente ou na criação do projeto antes de pedir ao assistente para gerar mais código.