Define a aplicação e escreve o primeiro prompt

Um primeiro prompt útil identifica a tecnologia, o comportamento da aplicação, as restrições e as evidências que demonstrarão que o trabalho está completo. Isto reduz a probabilidade de o assistente escolher uma estrutura do Windows conhecida, mas incorreta.

Comece pelos critérios de aceitação

Antes de pedir código, defina o que espera observar:

  1. O projeto compila para x64 sem erros ou avisos.
  2. A aplicação usa WinUI 3 e Microsoft.UI.Xaml, não UWP e Windows.UI.Xaml.
  3. Um utilizador pode adicionar, completar e eliminar uma tarefa.
  4. As tarefas permanecem depois de a aplicação reiniciar.
  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 identidade de pacote ou inicialização de janela.

Estes critérios transformam um pedido geral em verificações que você e o assistente podem realizar.

Dê ao assistente restrições duradouras

Abra a pasta onde guarda os projetos de desenvolvimento, inicie o seu assistente de programaçã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 secção importa. Pede ao assistente que exponha as suas suposições e produza pontos de controlo mais fáceis de inspecionar.

Inspecionar o plano proposto

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

  • Um modelo para uma tarefa.
  • Um modelo de visualizaçã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 por trás para eventos específicos da visualização, se necessário.
  • Passos para compilar e executar uma aplicação WinUI empacotada.

Peça ao assistente para rever o seu plano se este propor uma base de dados, injeção de dependências, múltiplas páginas ou controlos personalizados. Essas escolhas podem ser válidas numa aplicação maior, mas acrescentam conceitos que esta aplicação para iniciantes 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 usares Visual Studio, podes criar um projeto WinUI em C# e adicionar o MVVM Toolkit. Mantém o nome TaskTally do projeto para que os namespaces deste tutorial coincidam.

Note

Uma aplicação WinUI empacotada deve ser implementada com a identidade do pacote. Utilize o Visual Studio, dotnet run com os modelos do WinUI suportados, ou a CLI winapp de linha de comandos. 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.

Verifica a explicação tu mesmo:

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

Constrói o modelo inalterado antes de adicionar funcionalidades. Se a versão de referência não compilar, corrija o problema no ambiente ou na criação do projeto antes de pedir ao assistente para gerar mais código.