== 一連の記事の目次 ==
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
どうも、ターミナルのコマンド実行できることで、コマンドの実行結果の標準出力、エラー出力に対して、AI で対処をしていきたいときに便利なんだそうです(GitHub Copilot 語る)。
ターミナル作業を AI に頼りながら行う際に、CLI だけで手早く
が便利なんだそうです。
普段、Visual Studio Code や Visual Studio を使っているとなかなか気が付きませんが、ほかの IDE は機能の実装が遅いです。
もう、ほかの IDE を使われている方は、一思いに IDE のチャットは捨てて、CLI を使用する世界観なのかもしれません。
GitHub Copilot SDK も CLI をラップするものですし、今後 IDE の Copilot Chat 機能はもう CLI のラップで作る時代になっていくのかもしれませんね。根拠は私の勘です。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
/ced コマンドまたは /cd コマンドを使用するそうです。
/cwd <移動先ディレクトリ>コマンドを入力中に、ディレクトリの中も表示され、tab キーでの補完も聞きます。

ディレクトリ、移動しました。

GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
以前に GitHub Copilot CLI を IDE と接続してみましたが、何が起こるのかわかりませんでした。
/ide コマンドで IDE と接続します。

開いている IDE のリストが出るので選択すると、接続できます。

しかし、接続しても見た目上何も起こりませんでしたし、プロンプトでリポジトリの分析をお願いしても、IDE で開いているリポジトリではなく、CLI で参照しているリポジトリについて回答してきました。
というところで、どう使うのが良いのでしょう?
CLI と IDE で同じディレクトリを開いて使うのが良いそうです(GitHub Copilot 語る)。
しかし、それじゃあ、何がうれしいのか。
IDE のエディタで開いているファイルの中身を見ないと答えられない質問をしてみます。
こんなファイル。

Visual Studio Code (IDE) で開いているコードの中のクラスのプロパティの型を聞いてみます。
するとなんと! IDE で開いているファイルへのアクセス許可を求めてきました!

許可すると、中身をちゃんと見て回答をしてくれました!

CLI と IDE を接続すると、IDE で開いているファイルを見てくれます。コンテキストが共有されているとはこういうことのようですね。
中々思い通りに使いこなすのは難しそうですが、これからは CLI の時代です。使っていきましょう。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
! を先頭につけるとターミナルのコマンドが実行できます。


確かに実行できています。いいですね。

今表示したファイルの中のコードより、参照ディレクトリの中を見るという力の方が強いようですね。

やはりコマンドはいいですね。CLI、いいですね。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
GitHub Copilot CLI の使い方を見ていっています。
前回ひとまず、プロンプト実行してコードを書いてもらうことはできたので、今度は作業対象のディレクトリがどこかというところから見ていきたいと思います。
このリポジトリでは、複数のソリューションに複数のプロジェクトがあります。プロジェクトの数を答えさせれば Copilot がどのディレクトリを見ているか分かろうというものです。

はい。前回、リポジトリのトップのディレクトリを @ メンションしていました。そして、このリポジトリにはプロジェクトは 5 つ。きちんと 5 つのプロジェクトを見つけてくれました。
@ メンションで、ソリューション一つ狙ってディレクトリをメンションしてみます。
その状態で、プロジェクトの数はどうなるでしょう?

2 つになりました! このソリューションにはプロジェクトは 2 つ。完璧です。

コードを読みたいので、CLI 上にコードを表示したい。ターミナルでファイルの中身を表示する方法はいくつかあると思いますが、手癖の cat コマンドを書いてみます。

cat コマンドはダメでしたが、さすが Copilot。意図は察してコードを表示してくれました。

ここから先はゴールにまだたどり着けていません。戦いの様子をつづります。
IDE との接続が何なのか後日判明しました。
rksoftware.hatenablog.com 後日の追記終わり
ファイルを編集・コードを自分で書くには、IDE を使いそうな気がします。そしてスラッシュコマンドに /IDE があるのでこれを活用しそうな気がします。とりあえずコマンドを実行してみます。

No active IDE workspaces found.

どうも IDE でディレクトリを先に開いておく必要がある?
開いてみます。
で、IDE(Visual Studio Code)上にも、CLI 関連のコマンドがある様子。とりあえず実行してみます。

IDE の中で CLI が立ち上がりました。

何かイメージと違うので、一度閉じて、ディレクトリだけ開いてやり直してみます。
こんな感じに。一つだと、UI がいくつかスキップされるかもしれないので、この画像のほかにもう一つ Visual Studio Code を開いておいています。

Visual Studio Code と開いているディレクトリが選択肢に出てきました! 狙い通り、二つ選択肢になっていますね。

選択してみると、つながりました! 計画通り!

しかし、Visual Studio Code を見ても何も起こっていません......。

CLI 側の変化はというと......。何も変わっていません。Visual Studio Code ではプロジェクトが一つだけの、これまで CLI で見ていたものとは別のリポジトリを開いているにですが、CLI はこれまで観ていたディレクトリを見ています......。


じゃあ、IDE 側でプロンプトを実行してみます。


先ほどと逆に、IDE でのプロンプト実行が、CLI に影響があるかを見てみます。
何も起きていません!

今回はここまでです。続きは後日。
GitHub Copilot CLI をインストールして動かしてみる一連の記事の目次です。
rksoftware.hatenablog.com
以前に GitHub Copilot CLI をインストールしました。
今回は、プロンプトを投げてみましょう。
この記事を書いた、インストール直後、触っているときにはわからなかった、ターミナルのコマンドを実行する方法、後日わかりました。
rksoftware.hatenablog.com
追記終わり。
さっき、プロンプトを投げてみるといいました、アレは嘘です。まずは、CLI ということでターミナルのコマンドを投げてみます。
cls
GitHub Copilot CLI 起動後、少しいじっていたのできれいにしたく、画面クリアのコマンドを書いてみました。

cls コマンドを認識してくれて、PowerShell の Clear-Host を実行しようとしてくれます。当然、YES です。
はい!

クリアしてくれませんでした。Clear-Host 自体は実行されたようですが、GitHub Copilot CLI をクリアする能力はなかったようです。無念。
GitHub Copilot CLI は色々とファイルを見るので、ディレクトリは移動したい。
cd {ディレクトリパス}
例
cd C:\D\Dev\Source\Repos\Agent2\Agent
cd コマンド自体は認識しないようですが、ディレクトリをチェンジしたいと類推してくれて、同等の PowerShell コマンドを実行してくれるようです。


ディレクトリをチェンジ! できました。
ls
一日一万回実行するコマンドです。ctrl+s と同じ頻度で打ちます。

ls コマンドが実行されたわけではないようですが、期待した結果は得られました。いいですね。
してもらえませんでした。ファイルやディレクトリ名、パスを打つときは補助はなさそう。

#{Issue番号}
Issue が参照できました。ここで Issue に対するコーディングも依頼できるようですが、今回は、見ただけで他の操作を見ていきましょう。

@{ファイルパス}
コンテキストにファイルを明示で入れるチャットでいう Attach、添付にあたる捜査のようですね。

フルパスでも、相対パスでの OK の様子。


{プロンプト}


コードを書いてくれました。

ビルドもしてくれます。

書いてくれたコードを Visual Studio Code で確認すると。
いいですね。完璧です。

テストも作ってみてもらいます。



単純にテストを作るだけでなく、元のコードがテスタブル出なかったのでリファクタリングしたうえで、テスト作ってくれました!


以下次号