Amazon Q Developer を使用した機能の開発
注記
機能開発に関するヘルプは、チャットで直接リクエストできます。/dev を使用すると、リクエストはチャットにリダイレクトされます。
Amazon Q Developer は、統合開発環境 (IDE) でプロジェクトにコード機能を開発したり、コードを変更したりするのに役立ちます。実行するタスクについて説明すると、Amazon Q は現在のプロジェクトやワークスペースのコンテキストを使用して、変更を実装するためのコードを生成します。Amazon Q は、AWS プロジェクトや独自のアプリケーションの構築を支援できます。
まったく新しいプロジェクトを開始することも、IDE で開いているプロジェクトに取り組むこともできます。既存のプロジェクトでの開発では、Amazon Q はワークスペースルート内のすべての関連ファイルをコンテキストとして使用してコードを生成します。Amazon Q は、.gitignore ファイルで定義されたファイルまたはフォルダをフィルタリングし、サポートされているファイルタイプのみを使用してコードを生成します。サポートされているファイルタイプのリストについては、ご利用の IDE の GitHub リンクを参照してください。
-
JetBrains IDE でサポートされているファイルタイプ – https://github.com/aws/aws-toolkit-jetbrains/blob/main/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/services/telemetry/TelemetryUtils.kt
-
Visual Studio Code でサポートされているファイルタイプ – https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/shared/filetypes.ts
開始するには、新規または既存のプロジェクトを開き、Amazon Q チャットパネルに /dev と入力します。新しいチャットタブが開き、ここで Amazon Q を操作して、機能の新しいコードを生成します。
トピック
/dev で機能を開発する
注記
機能開発に関するヘルプは、チャットで直接リクエストできます。/dev を使用すると、リクエストはチャットにリダイレクトされます。
IDE で Amazon Q を使用してコードタスクを処理するには、次の手順を実行します。
-
IDE で、機能を開発する新規または既存のプロジェクトまたはワークスペースを開きます。
-
Amazon Q アイコンをクリックして、Amazon Q チャットパネルを開きます。
-
Amazon Q チャットパネルに
/devと入力し、次に実行するタスクまたは解決する問題の説明を入力します。タスクの概要を記載したり、詳細を追加したりできます。Amazon Q は、説明とプロジェクト内のコードを使用してコードを生成します。以下は、Amazon Q に実装をリクエストできるコード変更の例です。
/dev Create a new REST API endpoint /api/authenticate to handle user authentication. This endpoint should accept POST requests with user credentials and return a JWT token upon successful authentication. Additionally, update the user management system to integrate with the new authentication endpoint and enforce authentication for relevant API endpoints.また、
/devのみを入力して、タスクの例を表示することもできます。 -
新しいタブが開きます。まだ入力していない場合は、タスクまたは問題の説明を入力します。
-
Amazon Q は、説明したタスクのコードの生成を開始します。コード生成中、Amazon Q は、新しいコードを提案するために使用している手順、使用または更新しているファイルの概要を提供します。これには数分かかることがあります。
Amazon Q でコードの生成を停止するには、[停止] を選択します。完了していないコード生成は、このタスクのコード生成クォータにカウントされます。生成を停止した後、別のタスクの説明を入力して、タスクを引き続き処理することができます。
オプションで、Amazon Q はチャットウィンドウで提示する前に、開発環境でコード提案をテストできます。詳細については、「'/dev' 提案のテスト」を参照してください。
-
Amazon Q は、タスクのコードを生成した後、提案された変更を含むファイルのリストを提供します。ファイルを選択すると、変更を含むファイル差分が表示されます。
-
提案されたすべてのコード変更でファイルを更新するには、[すべての変更を受け入れる] を選択します。個別のファイルへの変更を承認および拒否することもできます。個別のファイルの変更を受け入れるには、ファイル名にカーソルを合わせ、緑色のチェックマークを選択します。変更を拒否するには、赤い X を選択します。また、[残りの変更を受け入れる] を選択して、まだ承認していない変更を適用することもできます。
コード変更を受け入れると、元に戻すことはできません。コード変更を拒否する場合は、ファイル名にカーソルを合わせ、矢印を選択してコード変更を元に戻すことができます。その後、コード変更を再度承認または拒否するオプションを選択することができます。
-
提案された変更に満足できない場合は、改善点に関するフィードバックを提供できます。[フィードバックを提供して再生成する] を選択し、Amazon Q に変更してほしい点を記述します。
Amazon Q は、フィードバックに基づいて新しいコードを生成します。生成されたコードが要件を満たしたら、[すべての変更を受け入れる] を選択するか、個別のファイルを承認して、プロジェクトまたはワークスペースのコードを更新します。
-
コードを更新すると、Amazon Q から新しいタスクでの作業を開始するように求められます。
プロジェクトまたはワークスペース内の別のタスクで作業を開始するには、[はい、別のタスクがあります] を選択します。以前の会話と生成されたコードは、新しいタスクのコンテキストとして使用されません。
機能開発セッションを終了するには、[いいえ、続行しません] を選択します。Amazon Q でチャットを続けるか、別のワークフローを開始するには、新しいチャットタブを開きます。
ベストプラクティス
Amazon Q で機能開発を最大限に活用するには、次のベストプラクティスに従います。
-
コードが何を達成するかの具体的な説明など、新機能またはコードの変更の詳細な説明を提供します。これにより、Amazon Q は包括的で実装可能なコード変更を提案できます。例については「タスクの例」を参照してください。
-
機能で、一度に 5 つ以上のファイルの更新を必要としないようにしてください。Amazon Q により大規模な変更をリクエストすると、機能実装の品質と管理性に影響する可能性があります。ファイル差分に多くのファイルへの変更が含まれている場合は、機能の説明の範囲を狭めてみてください。
タスクの例
以下は、Amazon Q にリクエストできる機能開発タスクの例です。リクエストには、対応する説明を提供できます。
-
応答型レイアウトの CSS スタイルを更新する: CSS スタイルを更新することで、アプリケーションのレイアウトの応答性を向上させます。さまざまな画面サイズに対応するレイアウトの調整に重点的に取り組み、さまざまなデバイスで表示を最適化します。
-
ユーザープロファイル画像のアップロードを修正する: ユーザーがプロファイル画像をアップロードできない問題を解決します。ファイルアップロードプロセスを調べ、ファイルタイプの検証が適切に行われるようにし、アップロードの成功を妨げるサーバー側のエラーに対処します。
-
コードをリファクタリングしてコードの可読性を高める: リファクタリングすることで、特定のコードモジュールの可読性を向上させます。複雑な関数を管理しやすい小さな単位に分割し、意味のある変数名と関数名を適用することで、わかりやすいコードにします。
-
問い合わせフォームに入力検証を実装する: クライアント側とサーバー側の入力検証を問い合わせフォームに追加して、空のデータや無効なデータの送信を防ぎます。検証に失敗した場合は、適切なエラーメッセージをユーザーに表示します。
-
ナビゲーションメニューの壊れたリンクを直す: アプリケーションのナビゲーションメニューの壊れたリンクを調査して修正します。URL またはルートを更新して、すべてのナビゲーションリンクが正しいページにつながることを確認します。
-
ページの読み込みを高速化するために画像の読み込みを最適化する: アプリケーションの主要ページの画像読み込みを最適化して、ページの読み込み時間を短縮します。遅延読み込みや非同期読み込みを実装して、見えているコンテンツの表示を優先します。
-
重要な API エンドポイントにエラーのログ記録を追加する: 重要な API エンドポイントにログ記録を実装することで、エラー処理を強化します。デバッグとトラブルシューティングを容易にするために、リクエストパラメータやスタックトレースなどの関連するエラーの詳細を記録します。
-
API エンドポイントのドキュメントを更新する: 既存の API エンドポイントのドキュメントを確認して更新し、最近の変更や追加を反映します。API を使用するデベロッパー向けに、情報の正確性と完全性を確保します。
-
データベースクエリをリファクタリングして効率を高める: データベースクエリを分析して最適化し、効率を向上させ、リソースの消費量を減らします。冗長クエリを特定して取り除き、インデックス作成を最適化し、必要に応じてキャッシュ戦略を検討します。
クォータ
Amazon Q を使用した機能開発では、次のクォータが維持されます。
-
タスクあたりのコード生成回数 – 特定の開発タスクでのコード生成に対してフィードバックを行える回数。これには、最初のコード生成も含まれます。このクォータは、新しいタスクを開始するたびにリセットされます。
-
コードプロジェクトサイズ – Amazon Q が新しいコードを生成するためにコンテキストとして使用できるコードファイルまたはフォルダのサイズ上限。
| リソース | クォータ |
|---|---|
| タスクあたりのコード生成回数 | 10 |
| コードプロジェクトサイズ | 200 MB (非圧縮) 50 MB (圧縮) |