はじめに
つい先日、GitHub Copilot for Eclipseのエージェントモードが正式リリース(GA:General Availability)されました🎉
以前、以下の記事でチャット機能を試してみましたが、今回はエージェントモードを試していきたいと思います!
Eclipse版のGitHub Copilotを使って使用感を確認してみた
エージェントモードとは?
GitHub Changelogによると、以下のような説明がありました。
従来のチャットや複数ファイルの編集とは異なり、エージェントモードはプロジェクト全体にわたってアクションを実行することで、ユーザーの意図を自律的にコードに変換するように設計されています。シンプルなプロンプトで、エージェントモードはコードベースを分析し、リクエストを実行可能なステップに分解し、複数のファイルにわたる変更を実行したり、必要に応じて新しいファイルを生成したりして、目的を達成します。
VSCodeにすでに実装されているエージェントモードと同様、プロンプトを投げるとそれを達成するために必要なタスクを自律的にやってくれそうですね!
これは期待が持てます。
プラグインの更新
前の記事ですでにEclipseにGitHub Copilotのプラグインを入れていたので、更新する必要がありました。
まずはEclipseを起動した後、メニューのヘルプからEclipseマーケットプレースを選択します。
使用可能な更新があるようですので、今すぐ更新ボタンをクリックします。
前回同様、ライセンスのレビューの画面が表示されたら、「使用条件の条項に同意します」にチェックを入れ、完了ボタンを押します。
この後このような画面が出てきたので、チェックボックスにチェックを入れ、選択項目を信頼ボタンをクリックしました。
プラグインの更新が完了すると、ソフトウェアの更新ダイアログが表示されるので、今すぐ再起動ボタンを押します。
再起動されると、なんとこんな画面が表示されました!
無事にエージェントモードに対応したバージョンになったようですね。
Start using Copilotボタンをクリックして、開始しましょう。
GitHub CopilotのビューがAgent Modeと表示されました!
が、なぜかモデル選択ができませんでした。
メニューのCopilot→Sign Out of GitHubを選択しサインアウトした後、再度サインインをしなおすと無事にモデルが選択できるようになりました。
これで準備はバッチリです。
エージェントモード発動!
見せてもらおうか、Eclipseでのエージェントモードの威力とやらを!
ありきたりですが、SpringBootのToDoアプリを作るよう依頼してみました。
すると、こんな風に聞いてきてくれました。もちろん「はい」と入力します。
次はこのように聞かれました。これも「はい」します。
すると、あれれ?フォルダが作れないと言われてしまいました・・・
仕方ないので手動でMavenプロジェクトを作成してから再度実行してみましょう。
メニューからファイル→新規→Springスターター・プロジェクトを選択します。
以下のように入力(入力内容はご自身の環境に合わせてください)して、次へボタンをクリックします。
今回サンプルということでH2 Databaseを使用します。
そのため、H2 DatabaseとThymeleafにチェックを入れ、完了ボタンをクリックします。
プロジェクトができたら、再度プロンプトを投げてみましょう。
すると一通り、アプリを作ってくれたようです。
ターミナルからSpring Bootを起動すると、無事に起動しました!
ブラウザで確認してみると・・・
ToDoリスト画面が表示されました。(若干味気なさはあるものの・・・)
✅注意事項
エージェントモードで実行すると、時折コマンドを実行する動作をするのですが、そのコマンドを実行するターミナルのカレントディレクトリがワークスペースではなくEclipseのホームディレクトリになっているため、失敗してしまいます。
これはターミナルの設定で初期作業ディレクトリの設定をしても変わりませんでした。
VSCodeの場合は、コマンドの実行結果を受け取って、エラーが出た場合は自律的に解消していってくれるのですが、Eclipseの場合はそういった挙動は現時点では見られませんでした。
この辺りは今後改善されていくのでしょうか。
使ってみた感想
今回、Eclipseに新しく搭載されたGitHub Copilotのエージェントモードを試してみました。
VSCodeで先行して実装されていた機能ということもあり、大きな期待を持って検証しました。
結果として、一度プロジェクトを手動で作成する必要があったり 、コマンド実行時のディレクトリに課題が見られたりと、完全に自律的に動作するまでには至らない部分もありました。
しかし、新しいフレームワークやライブラリを試す際の「お決まりのコード」を記述する手間が省けるのは、非常に大きなメリットです。
今後のアップデートで、今回見られたような課題が改善され、よりスムーズに動作するようになることを期待しています。
エージェントモードが開発の「真の相棒」となる日は、そう遠くないのかもしれません。
執筆者プロフィール

- tdi デジタルイノベーション技術部
-
昔も今も新しいものが大好き!
インフラからアプリまで縦横無尽にトータルサポートや新技術の探求を行っています。
週末はときどきキャンプ場に出没します。