VSCodeでGithubCopilotが反応しない(WSL)

VSCodeでGithubCopilotを利用していて、Githubとの接続が途切れて突然Chat機能が使用不能になる不具合に長らく苦しめられてきました。
この度、Qiitaに解決方法を載せてくださっている方を見つけまして、そのおかげでついに解決しました。ありがたいことです。

参考: VSCode で WSL2 プロジェクトを開くと Copilot 拡張機能が応答しない #copilot – Qiita

初心者目線でかみ砕いたメモを残しておきます。

作業環境

・windows11
・WSLを使用(Ubuntu)
・VSCodeはwindows版をwindows上にインストール
・VSCode上でWSLに接続し、WSL内のプロジェクトフォルダにて作業を行っている
・VSCode上でCopilotChatの機能を使用している

不具合の症状

CopilotChatが突然使用不能になる(チャットのやり取り表示が消え、代わりにサインインを求められる表示が出るが、サインインのボタンを押しても何も動かない)

原因(おそらく)

WSL上ではCopilot拡張機能が正しく動作しないことがある

対策

Copilot拡張機能に関しては、WSL:UBUNTUではなく、LOCALにインストールしたものを使用する。

具体的な手順

/home/<ユーザー名>/.vscode-server/data/Machine/settings.json に次のコードを追加しました。

    "remote.extensionKind": {
        "GitHub.copilot": ["ui"],
        "GitHub.copilot-chat": ["ui"]
    }

これにより、拡張機能をwslではなくローカルから呼び出すことができました。適用後は次の画像のとおり、WSL:UBUNTUの方の表示がグレーアウトしました。

setting.jsonについて

setting.jsonという名前のファイルは3種類存在する可能性があるので、混同しないようにしましょう。

Windows側(ローカル)

VS CodeをWindowsで起動したときのユーザー設定
C:\Users\<ユーザー名>\AppData\Roaming\Code\User\settings.json

WSL側(Linuxユーザー設定)

WSL内でVS Codeを使うときのユーザー設定(WSL内でVS Codeを直接起動した場合)
/home/<ユーザー名>/.config/Code/User/settings.json

VS Code Server(リモート拡張)

VS Codeの「リモート – WSL」拡張を使っている場合、
WSL内にVS Code Serverが立ち上がり、その専用の設定ファイル
/home/<ユーザー名>/.vscode-server/data/Machine/settings.json

今回コードを追加するのは、この /home/<ユーザー名>/.vscode-server/data/Machine/settings.json です。

直ってとても快適になりました。よかったよかった。

プログラミング
potatomatoes167をフォローする
アサボリアンのBLOG

コメント

タイトルとURLをコピーしました