GitHubは2026年6月10日、GitHub Copilot CLIでLanguage Server Protocol
LSP Setupは、GitHub Copilot向けのスキルやインストラクションを集めた
テキスト検索に頼るコード理解をLSPで補う
LSPサーバーがない場合、Copilot CLIのエージェントはAPIの呼び出し方やシグネチャなどを把握するために、依存ライブラリをテキスト検索したり、バイナリを展開したりすることがある。JavaではJARファイルを展開して.classファイルを検索し、Pythonではsite-packages、TypeScriptではnode_を探索するといった動きが例として挙げられている。
こうしたテキスト検索やバイナリ展開による方法は単純な例では機能するものの、テキスト上のパターンマッチングに近いため、ジェネリクス、オーバーロード、依存関係をまたぐ型情報、コンパイル済みバイトコードの扱いで限界があるという。
これに対しLSPサーバーを使うと、エージェントはLSPリクエストを通じて、シンボルの正確な場所、解決済みの型、シグネチャといった構造化された情報を取得できる。
LSPサーバーを設定すると、エージェントは依存関係をまたいで型を解決したり、サードパーティライブラリ内の定義へジャンプしたりできる。プロジェクト全体での参照検索や、関数、クラス、型のホバー情報の読み取りも可能になる。GitHubは、これによりツール呼び出しにかける時間が減り、シグネチャの読み違いによる手戻りも減らせるとしている。
デフォルトで14種類の言語に対応
LSP Setupは、現在のところ14種類の言語に対応しており、TypeScript/
各言語向けのLSPサーバーには、typescript-language-server、pyright、gopls、rust-analyzer、clangdなどがある。Java向けのjdtlsについては、Java 21以上がJAVA_または$PATHにあることが前提として示されている。
対応リストにない言語については、エージェントが適切なLSPサーバーを探し、手動設定を案内する。
導入と設定の流れ
利用するには、Awesome CopilotのLSP SetupスキルページからZIPファイルをダウンロードし、たとえばユーザー単位のスキル用ディレクトリである~/.copilot/に展開する。
また、gh skill preview github/で内容を確認し、gh skill install github/でインストールする方法もある。その際、対象エージェントにはGitHub Copilotを選ぶ。
すでにCopilot CLIを起動している場合は、いったん再起動して新しいスキルを読み込ませる。その後、/lsp-setupコマンドを使っても同様のワークフローを開始できる。
LSP Setupのワークフローは7段階で構成される。まずエージェントがLSPを設定したいプログラミング言語を確認する。
次に、uname -sやWindowsの環境変数でOSを判定する。そのうえで、エージェントがスキルのreferences/を参照し、対応する言語サーバー、OSごとのインストールコマンド、設定スニペットを選ぶ。
設定時には、ユーザー単位で設定するか、リポジトリ単位で設定するかをエージェントがユーザーに確認する。ユーザー単位では~/.copilot/を使う。リポジトリ単位では、リポジトリルートのlsp.または.github/に設定する。
続いて、エージェントが対象OSに応じたコマンドでLSPサーバーをインストールし、選択した設定ファイルへlspServersオブジェクトを追加またはマージする。設定にはcommand、args、fileExtensionsが含まれる。既存の設定ファイルがある場合も、既存の項目を残したまま必要なサーバー設定をマージする。
最後に、which <binary>またはWindowsのwhere.でLSPサーバーの実行ファイルを呼び出せるかを確認し、設定ファイルが正しいJSONとして読めるかを検証する。
設定完了後は、Copilot CLIをもう一度再起動し、/lspでサーバーの状態を確認する。さらに、依存ライブラリ内のシンボルに定義ジャンプを試すことで、LSPサーバーが正しく使われているかを確認できるとのこと。