Tentukan aplikasi dan tulis perintah pertama

Prompt pertama yang berguna mengidentifikasi teknologi, perilaku aplikasi, batasan, dan bukti yang akan menunjukkan pekerjaan selesai. Ini mengurangi kemungkinan asisten memilih kerangka kerja Windows yang akrab tetapi salah.

Mulai dengan kriteria penerimaan

Sebelum meminta kode, tentukan apa yang anda harapkan untuk diamati:

  1. Proyek dibangun untuk x64 tanpa kesalahan atau peringatan.
  2. Aplikasi ini menggunakan WinUI 3 dan Microsoft.UI.Xaml, bukan UWP dan Windows.UI.Xaml.
  3. Pengguna dapat menambahkan, menyelesaikan, dan menghapus tugas.
  4. Tugas tetap ada setelah aplikasi dimulai ulang.
  5. Setiap input dan perintah memiliki nama yang dapat diakses.
  6. Perintah tetap tersedia saat jendela dipersempit.
  7. Asisten menjelaskan API apa pun yang memerlukan identitas paket atau inisialisasi jendela.

Kriteria ini mengubah permintaan luas menjadi pemeriksaan yang dapat Anda dan asisten lakukan.

Berikan batasan permanen pada asisten

Buka folder tempat Anda menyimpan proyek pengembangan, mulai asisten pengkodian AI Anda, dan gunakan perintah ini:

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.

Bagian terakhir penting. Ini meminta asisten untuk mengekspos asumsinya dan menghasilkan titik pemeriksaan yang lebih mudah diperiksa.

Memeriksa rencana yang diusulkan

Sebelum menyetujui pengeditan, periksa apakah paket menyertakan:

  • Model untuk satu tugas.
  • Model tampilan dengan koleksi dan perintah yang dapat diamati.
  • Layanan penyimpanan.
  • XAML untuk halaman.
  • Sejumlah kecil kode di belakang untuk peristiwa khusus tampilan, jika diperlukan.
  • Buat dan luncurkan langkah-langkah untuk aplikasi WinUI yang dipaketkan.

Minta asisten untuk merevisi rencananya jika mengusulkan database, injeksi dependensi, beberapa halaman, atau kontrol kustom. Pilihan tersebut dapat valid dalam aplikasi yang lebih besar, tetapi mereka menambahkan konsep yang tidak diperlukan aplikasi pemula ini.

Membuat proyek

Asisten harus menjalankan perintah yang setara dengan:

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

Jika Anda menggunakan Visual Studio, Anda dapat membuat proyek C# WinUI paket dan menambahkan MVVM Toolkit. Pertahankan nama TaskTally proyek sehingga namespace dalam tutorial ini cocok.

Note

Aplikasi WinUI paket harus disebarkan dengan identitas paketnya. Gunakan Visual Studio, dotnet run dengan templat WinUI yang didukung, atau winapp CLI. Jangan langsung jalankan .exe yang dihasilkan.

Memeriksa proyek yang dihasilkan

Bertanya:

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.

Verifikasi sendiri penjelasannya:

  • File proyek berisi <UseWinUI>true</UseWinUI>.
  • Proyek mereferensikan Microsoft.WindowsAppSDK.
  • Kode XAML menggunakan Microsoft.UI.Xaml jenis dalam C#.
  • Package.appxmanifest memberikan identitas paket.
  • Kerangka kerja target mencakup Windows, seperti net10.0-windows10.0.26100.0.

Buat templat yang tidak berubah sebelum menambahkan fitur. Jika garis besar tidak dibangun, perbaiki masalah pembuatan lingkungan atau proyek sebelum meminta asisten untuk menghasilkan lebih banyak kode.