はじめに

GitHub Copilotをより効率的に使うためにいくつかのTipsを紹介します。前編はGitHub Copilotのインストール方法や基本的な使い方について触れます。後編では、主にプロンプトエンジニアリングについて触れます。

GitHub Copilotとは

GitHubの公式によると基本的には実装・レビューをサポートするためのツールになります。特に、コードの自動補完機能が強力で、業務をより効率的に進めることができます。

GitHub CopilotサポートIDE

執筆現在にサポートされているIDEは以下の通りです。

  • Visual Studio Code
  • Visual Studio
  • JetBrains IDE
  • Azure Data Studio
  • Vim/Neovim

サポートされているIDEは基本的にプラグインをインストールすることで使用することができます。ただし、Android Studioのバージョンが低いなどの場合は、利用できない場合がありますのでご注意ください。
Xcodeはサポート対象外ですが、copilot-for-xcodeを使用することでXcodeでも使用することができます。
以下、基本的にVisual Studio Codeを使用して説明します。

copilot for xcodeのインストール方法

まず、Homebrewを最新の状態にします。

$ brew update

更新が完了したら、次にNode.jsのインストールパスを確認します。

$ which node

次に、copilot-for-xcodeをインストールします。

$ brew install copilot-for-xcode

インストール後、生成されたcopilotForXcodeアプリケーションを開きます。初回起動時にはプライバシー設定の指示に従ってください。完了後、次の手順で設定を完了させます。

Serviceタブで Node.js のパスを設定するため、先ほど確認したパスを使用してください。Node.js のバージョンに注意してください。インストール後に問題が発生した場合は、一旦 Copilot-Vimバージョンをアンインストールしてください。
GitHub との連携は、サインイン時にアプリケーションで 8 桁の番号が表示されるので、それをブラウザで入力します。入力後、再読み込みしてステータスが OK になることを確認します。

完了後、MacOSの拡張機能でXcodeSourceEditorで有効にします。

Copilotチャットを対応させる

チャットを対応させるには、以下の手順を実行してください。

  1. “Pretend IDE to be VSCode”を選択
  2. Chat modelをGitHub Copilot(poc)に変更

まず初めに、準備しておいたサインインしたページを開き、”Pretend IDE to be VSCode”を選択します。
次に、Chat modelをGitHub Copilot(poc)に変更します。筆者の環境では、defaultがGitHub Copilot(poc)になっていたのですが、バグがあるようでdefaultで選択されていても必ず一度選択するようにしてください。

コード補完

コード補完は、基本的にはコードを書いているときに自動的に補完されます。補完される内容は、コードの文脈やそのワークスペース内の内容によって変わります。コードを書き進めると、より優れた補完が提案されるようになります。

コードの生成

Copilot Chat(以降、チャットと呼ぶ)を利用してコードを生成することができます。ただし、チャットを利用してコードを生成する場合は、ライブラリなどを指定した上で利用することをオススメします。例として、以下のような質問をすると良いです。

mockkとリフレクションを使って、loginメソッドの全パターンのテストコードを作ってください

基本的にはライブラリ管理ファイルを理解してくれない動きをすることがあり、ライブラリを指定して質問すると上手く行くことが多いです。

インラインチャット

インラインチャットは、コードの中で直接質問をすることができます。Visual Studio Codeでのインラインチャットは、macOSだとCommand + iを押すことで使用することが可能です。現在カーソルを置いてる部分で実装を進めたい場合に便利です。

Visual Studio Codeのチャットキーワード

チャットで質問するときに、いくつかキーワードが存在し、それらを利用することでより効率的にチャットを使用することができます。以下、一部のキーワードを紹介します。

キーワード意味
/testテストコードを生成する
/explainコードの説明を表示する
/fixコードを修正する
/new新しいワークスペースのスキャフォールドコード
/newNotebook新しいjupyterNotebookを作る
/searchワークスペース検索のクエリパラメーター, vscodeの検索/置換機能を使う
@workspaceワークスペース内のスコープ
@vscodevscodeのスコープ
@terminalターミナルのスコープ
@GitHubブラウザなどウェブのスコープ、エンタープライズならナレッジベースも参照する

基本的にこれらのキーワードは、その状態で使用可能かが変わってきます。例えば、インラインチャットでは/docなどのスラッシュコマンドを利用できたりします。また他にもコンテキスト変数という概念もあり、例えば、参照ファイルを追加する#fileやナレッジベースを指定する#kbなどがあります。公式ドキュメントには、@から始まるものをチャット参加者、/から始まるものをスラッシュコマンド、#から始まるものをチャット変数/コンテキスト変数と呼びます。

前編まとめ

前編では、GitHub Copilotのインストール方法や基本的な使い方について触れました。後編では、ナレッジベースやキーワードを用いた効率の良いチャット手法などに触れます。GitHub Copilotをより効率的に使うためには、これらの使い方を覚えることが重要です。後編もぜひご覧ください。後編はこちら



ギャップロを運営しているアップフロンティア株式会社では、一緒に働いてくれる仲間を随時、募集しています。 興味がある!一緒に働いてみたい!という方は下記よりご応募お待ちしております。
採用情報をみる