Sublime Text で GitHub Copilot を使う方法
はじめに
GitHub Copilotは、VSCodeやJetBrains IDEsなどの統合開発環境(IDE)で利用する人が多いと思いますが、実際にはVimやNeovim、そしてSublime Textのようなエディターでも利用することができます。この記事では、Sublime TextでGitHub Copilotを利用する方法を紹介します。
インストール方法
Sublime TextでGitHub Copilotを使用するには、「LSP-copilot」というパッケージをインストールする必要があります。
LSP-copilotのインストール および セットアップについてはLSP-copilotのREADMEに記載がありますが、当記事でも一連の流れを説明します。
LSP-copilotのインストール
このパッケージは、Sublime TextにLSP(Language Server Protocol)ベースの補完機能を提供します。LSP-copilotをインストールする前に、まずLSP本体をインストールする必要があります。
-
LSPのインストール:
- Sublime Textのコマンドパレット(Ctrl+Shift+P)を開き、「Install Package」を選択します。
- 「LSP」を検索し、インストールします。
-
LSP-copilotのインストール:
- 同様にコマンドパレットを開き、「Install Package」を選択します。
- 「LSP-copilot」を検索し、インストールします。
- インストール中にNode.jsのダウンロードを促すダイアログが表示される場合があります。この場合は「Download」ボタンをクリックしてNode.jsをダウンロードしてください。
- インストールが完了したら、Sublime Textを再起動します。
セットアップ方法
GitHub Copilotへのサインイン
LSP-copilotをインストールしたら、次にGitHub Copilotにサインインします。
サインイン手順:
- コマンドパレットから「Copilot: Sign In」を検索して実行して下さい。
- するとブラウザーで以下のような画面が開きコードの入力を促されます。この画面が開いた時点で、クリップボードにコードがコピーされていますのでそのままペーストして下さい。
- この画面が表示されるとサインイン完了です。ブラウザーは閉じて問題ありません。
- Sublime Text側にもこのようなダイアログが表示されていますが、サインイン完了後は閉じて下さい。
コマンドパレットに「Copilot: Sign In」が表示されない場合:
LSP-copilotのインストール直後に「Copilot: Sign In」がコマンドパレットに表示されない場合がありました。
その場合はSublime Textを一旦閉じてから、編集したいファイルやプロジェクトを開いて下さい。
入力補完の設定
LSP-copilotには2種類の補完スタイルがあります。
コマンドパレット「Preferences: LSP-copilot Settings」から設定項目 completion_style
設で変更が可能です。
popup:
デフォルトの設定です。補完候補がポップアップ表示されます。
ポップアップ右上の青いハンバーガーボタンを押すと画面右側のパネルに補完候補が一覧表示されます。
phantom:
カーソルの位置にインラインで表示されます。
まだ実験的な機能で不具合があるとのことですが、それほど不都合は感じません。
Chat
Sublime TextでもGitHub Copilot Chatを利用できます。
コマンドパレットから「Copilot: Chat」を実行すると画面下部にチャットプロンプト、画面右側にチャット結果パネルが表示されます。
コードの生成
プロンプトに「goで最大公約数を返す関数」と入力すると、次のようなコードを生成してくれました。
テストの生成
プロンプトに「/tests」と入力すると、コードに対応するテストを生成します。
コードの説明
対象のソースファイルを開いてコードを選択してからプロンプトに「/explain」と入力するとそのコードの説明を生成します。
「/explain 日本語」と入力すると日本語での説明を生成してくれます。
おわりに
GitHub Copilotは、VSCodeのようなIDEだけでなく、Sublime Textのようなエディターでも十分に活用できます。この記事が、普段使い慣れたSublime TextでCopilotを活用したいと考えている方々にとって、参考になれば幸いです。
なお、私たちが所属しているU-motion開発部では、希望する開発者はGitHub Copilotを活用することが可能です。私たちは有益なツールを積極的に取り入れ、開発者体験の向上と、より良いプロダクトの開発を目指しています。
Discussion