Amazon Web Services ブログ

Visual Studio と JetBrains IDE におけるエージェント型コーディング体験の紹介

本記事は 2025 年 6 月 5 日に公開された “Introducing an agentic coding experience in Visual Studio and JetBrains IDEs” を翻訳したものです。

開発者は、コードのデバッグ、単体テストの作成、ビルドプロセスの検証といった繰り返し行う作業に膨大な時間を費やしています。そして、そうした時間はイノベーションや問題解決にもっと活用すべきです。このような課題を解決するため、Amazon Q Developer はインテリジェントなコーディングアシスタント機能を Visual Studio と JetBrains 統合開発環境(IDE)に拡張しました。この新しいエージェント体験は、あなたの代わりに積極的に動作し、ワークスペースを自動的に分析してコードを修正し、コマンドを実行して開発プロセスを効率化します。

このブログ記事では、Amazon Q Developer がコード変更を検証するために、単体テストの作成と実行を自動化し、一般的な問題を特定して解決することでビルドプロセスを効率化する方法について説明します。

2025 年 5 月、同僚の Brian Beach が Amazon Q Developer for VS Code における新しいエージェント型コーディング体験について書きました。エージェント体験を Visual Studio と JetBrains IDE に拡張することで、Amazon Q Developer はさらに多くの開発者にインテリジェントな自動化をもたらします。

開発者にとってのメリット

Amazon Q Developer は、開発者の働き方を変革します。AI アシスタンスを日常の作業の流れにシームレスに統合することで、コンテキストを切り替えたり、好みの開発環境を離れたりすることなく、作業が進められます。@workspace@files などの機能を使うことで、IDE 内で非常に関連性の高い推奨事項を得られます。Q Developer の機能を活用すれば、コード差分の生成やコマンドの実行など、さまざまなアクションを自動化し、繰り返し行われるコーディングタスクを効率化したり、複雑な機能をより迅速に実装したり、フローを中断することなく問題をトラブルシューティングしたりできます。英語、中国語、日本語、スペイン語などの複数言語に対応しており、Amazon Q Developer は世界中の開発チームに高度な AI アシスタンスを提供し、グローバルな組織全体でのインクルーシブなコラボレーションを促進します。

Amazon Q Developer による開発効率の最大化

Amazon Q Developer は、IDE 内で包括的な機能セットを提供することで、開発プロセスを革新します。この強力なツールが、どのようにコードベースの背景情報を活用し、コンテキスト機能、コードベースのフォルダ、ルールを使用してコーディング体験を向上させるのかを見ていきましょう。

Q Developer はプロンプトコンテキストで特定のファイルやフォルダを定義することで、明示的にガイドできます。特定の情報がどこにあるのかわからなくても問題ありません!Q Developer は @workspaces を使用してコードベースを効率的にナビゲートし、複数のファイルから関連するコードスニペットを収集できます。これは、複数のファイルにまたがるドキュメントを作成したい場合や、バグを修正する必要があるがどこから始めればよいかわからない場合にとくに重要です。

エージェント型チャット機能は、コードベースのフォルダからコンテキストを自動的に導出し、あなたに代わってコマンドを実行します。これは、すでに多くの開発者の心を掴んでいる Q Developer CLI で使用されているのと同じインテリジェントな推論機能を備えています。

コンテキスト管理は、.amazonq/rules/ ディレクトリを通じて設定にも拡張されます。このディレクトリ内で、コーディング標準、テスト要件、セキュリティプロトコル、ドキュメント慣行のルールを定義できます。一部の顧客は、Q Developer が変更をコミットする方法を定義するルールをすでに作成しています。このルールは、メッセージの詳細とファイルを変更するエージェント型アクションのための Git コミットのテンプレートを提供します。これにより、Q Developer のコードベースへの貢献を特定し、レビューすることが容易になります。

エージェント体験のクイックツアー

2 つのユースケースを順を追って説明します。この例では、Visual Studio IDE を使用します。同様のエージェント型機能は JetBrains IDE でもサポートされています。Bob’s Used Books のサンプルリポジトリをクローンして Visual Studio 2022 で開いて、一緒に作業を進めてみましょう。Amazon Q Developer 拡張機能を追加または更新することを忘れないでください。

単体テストの作成

Bookstore.Domain プロジェクトには、BookShoppingCart などのドメインオブジェクトが含まれています。

図 1: Bookstore.Domain のドメインオブジェクト

Book クラスのテストを含む Bookstore.Domain.Tests という別のプロジェクトがあります。

図 2: Book クラスのテスト

ShoppingCart クラスの単体テストを追加したいと思います。Amazon Q Developer に ShoppingCart の単体テストを作成するよう依頼しましょう。また、Amazon Q Developer には、既存のパターンに従って、別のテストプロジェクトにテストクラスを作成してもらいたいと思います。

デフォルトでは、エージェント機能がオンになっています。ソフトウェア開発ライフサイクル(SDLC)の計画・設計の段階にいて、従来の双方向チャットを使用する場合は、エージェント機能をオフにできます。エージェント機能のオン/オフを切り替えるには、Q Developer チャットウィンドウの左下隅にある </> のマークを選択します。

次に、Q Developer に 「@ShoppingCart.cs のテストを作成できますか?既存のテストを見て、同じライブラリを使用してください」 と尋ねます。(訳者注:画像は英語ですが、日本語でのやり取りにも対応しています。)まず、単に質問するのではなく、コマンドを与えていることに注意してください。次に、Q Developer に適切なコンテキストを提供するために、ファイル ShoppingCart.cs を明示的に指定しています。次の画像では、Q Developer が私たちの代わりに行動していることがわかります。エージェント型コーディングモードでは、Q Developer はアクションを実行してコマンドを実行できます。この例では、ファイルの読み取り、ファイルへの書き込み、そしてあなたの許可を得てからコマンドを実行しています。

図 3: 新しいテストを作成するためのプロンプト

コマンドを使用して、Q Developer はソリューション構造を分析し、Bookstore.Domain.Tests というプロジェクトがあることを理解し、ShoppingCart の単体テストを含む新しいファイルを作成しました。

図 4: テストケースの概要

Bookstore.Domain.Tests プロジェクトに ShoppingCartTests という新しいファイルがあることを確認できます。これは既存のテスト作成戦略と一致しています。

図 5: 生成されたテストケースを含む新しいファイル

Visual Studio で、単体テストを実行して合格することを確認できます。

図 6: 新しいテストの成功したテスト実行

ビルドエラーの解決

次の例では、Q Developer を使用してアプリケーションをビルドし、ビルドエラーを解決することで、エージェント型コーディング体験の力を実証します。

この例では、IShoppingCartRepository インターフェイスのメソッドの 1 つを意図的にスペルミスしています。AddAsync メソッドが AddAsyn と間違って書かれています。

図 7: メソッド名のスペルミス

Bookstore.Domain プロジェクトをビルドしようとすると、予想通りビルドエラーが発生します。Q Developer にエラーを修正するよう依頼しましょう。エージェント型コーディング機能がなければ、ビルドエラーのテキストをチャットウィンドウにコピーして、Q Developer に推奨事項を提供するよう依頼する必要があります。その後、手動で変更を加えてビルドを試すことで、その推奨事項に基づいて行動する必要があります。これは、コマンドを実行し、コマンドの出力を使用してプロンプトのコンテキストを豊かにし、アクションを実行するエージェント型チャットの力を示す一例です。

エージェント型コーディング機能では、Q Developer に 「ソリューションをビルドする際に発生しているエラーを修正できますか?ビルドして確認してください」 と尋ねるだけです。次の画像では、Q Developer が .NET ビルドコマンドを実行してビルドエラーを取得し、関連ファイルを読み取っていることがわかります。

図 8: ソリューションのビルド

ファイルを読み取った後、スペルミスを見つけて自動的に修正します。次の画像に示すように、修正が機能したことを確認するためにプロジェクトをビルドします。

図 9: スペルミスの修正

 

次の画像では、実行結果のサマリとして Amazon Q Developer がエラーの概要、ビルドのために実行したアクション、ビルド実行時に発生した警告を修正するための推奨事項まで提供しています。

図 10: 変更の概要と提案

まとめ

Microsoft Visual Studio と JetBrains IDE における Amazon Q Developer のエージェント機能の追加により、Amazon Q Developer は従来のチャットベースの相互作用を超えて、インテリジェントでアクション指向の支援を提供します。ファイルの自動読み取り、コード差分の生成、シェルコマンドの実行、変更の検証を行う能力は、コード品質を維持しながら開発タスクを大幅に加速できる自律性の高さを示しています。私たちが取り上げた例では、テスト作成の自動化からビルドエラーの解決まで、エージェント機能が従来複数の手動ステップを必要としていた一般的な開発タスクを効率化できることを示しています。この新しい機能は、多言語サポートとカスタマイズ可能な開発標準と組み合わせることで、Amazon Q Developer を現代のソフトウェア開発プロセスにおける強力な味方にします。開発チームがコード品質を損なうことなく生産性を向上させる方法を模索し続ける中、Amazon Q Developer のエージェント機能は、IDE 統合 AI アシスタンスにおける重要な進歩を意味します。テスト作成、バグ修正、コード最適化をする際、解決策を提案するだけではなく、コンテキスト認識を維持しながらそれらを実装できる AI アシスタントを持つ能力は、開発者のツールキットにとって革新的な追加となります。

翻訳はApp Dev Consultantの宇賀神が担当しました。

著者について

Artur Rodrigues

Artur Rodrigues is a Artur Rodrigues は、Amazon Web Services(AWS)の Generative AI 担当プリンシパルソリューションアーキテクトで、次世代開発者体験に焦点を当て、Generative AI を作業の流れに統合することで開発者がより効率的かつ創造的に働けるようにしています。Artur はサイクリングとカナダの美しいブリティッシュコロンビア州の大自然の探索を楽しんでいます。また、ジェラートの愛好家でもあり、サッカーと柔術のファンでもあります。

Neeraj Handa

Neeraj Handa は Amazon Web Services のスペシャリストソリューションアーキテクトで、Amazon Q Developer を使用してアプリケーション開発と近代化を加速するために企業顧客とパートナーシップを組んでいます。彼は、AI テクノロジーの使用を通じてより高い生産性とソフトウェア品質を達成するために、組織がソフトウェア開発ライフサイクルを変革することを支援することに情熱を注いでいます。