アプリを定義し、最初のプロンプトを記述する

便利な最初のプロンプトでは、テクノロジ、アプリの動作、制約、作業が完了したことを示す証拠を識別します。 これにより、アシスタントが使い慣れたが間違ったWindowsフレームワークを選択する可能性が低くなります。

受け入れ条件から始める

コードを要求する前に、観察する内容を定義します。

  1. プロジェクトは、エラーや警告なしで x64 用にビルドされます。
  2. アプリは、UWP やWindows.UI.Xamlではなく、WinUI 3 とMicrosoft.UI.Xamlを使用します。
  3. ユーザーは、タスクを追加、完了、および削除できます。
  4. タスクは、アプリの再起動後も残ります。
  5. すべての入力とコマンドには、アクセス可能な名前が付けられます。
  6. ウィンドウが狭い場合、コマンドは引き続き使用できます。
  7. アシスタントは、パッケージ ID またはウィンドウの初期化を必要とする API について説明します。

これらの条件により、広範な要求が、自分とアシスタントが実行できるチェックに変わります。

アシスタントに永続的な制約を与える

開発プロジェクトを保持するフォルダーを開き、AI コーディング アシスタントを開始して、次のプロンプトを使用します。

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.

最後のセクションが重要です。 アシスタントに対して、その前提条件を公開し、検査しやすいチェックポイントを生成するよう求めます。

提案された計画を調べる

編集を承認する前に、プランに次のものが含まれていることを確認します。

  • 1 つのタスクのモデル。
  • 監視可能なコレクションとコマンドを含むビュー モデル。
  • ストレージ サービス。
  • ページの XAML。
  • 必要に応じて、ビュー固有のイベントのための少量のコードビハインド。
  • パッケージ化された WinUI アプリのビルドと起動の手順。

データベース、依存関係の挿入、複数のページ、またはカスタム コントロールを提案する場合は、アシスタントに計画を修正するよう依頼します。 これらの選択肢は大規模なアプリでは有効ですが、この初心者向けアプリでは不要な概念が追加されます。

プロジェクトを作成する

アシスタントは、次のコマンドと同等のコマンドを実行する必要があります。

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

Visual Studioを使用する場合は、代わりにパッケージ化された C# WinUI プロジェクトを作成し、MVVM Toolkit を追加できます。 このチュートリアル内の名前空間と一致するように、プロジェクト名は TaskTally のままにしておきます。

Note

パッケージ化された WinUI アプリは、そのパッケージ ID と共に展開する必要があります。 Visual Studio、サポートされている WinUI テンプレートを使用したdotnet run、または winapp CLI を使用します。 生成された .exe を直接起動しないでください。

生成されたプロジェクトを検査する

問い合わせ:

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.

説明を自分で確認します。

  • プロジェクト ファイルには <UseWinUI>true</UseWinUI>が含まれています。
  • プロジェクトは Microsoft.WindowsAppSDKを参照します。
  • XAML コードでは、C# で Microsoft.UI.Xaml 型を使用します。
  • Package.appxmanifest はパッケージ ID を提供します。
  • ターゲット フレームワークには、net10.0-windows10.0.26100.0などのWindowsが含まれています。

機能を追加する前に、変更されていないテンプレートをビルドします。 ベースラインがビルドされない場合は、より多くのコードを生成するようにアシスタントに依頼する前に、環境またはプロジェクト作成の問題を修正します。