VSCode Live Shareで操作しても何も反応がないときにすること

VSCode Live Shareで操作しても何も反応がないときにすること

VSCodeのLive Shareは便利ですがPreview版のため、トラブルに遭遇することも珍しくありません。
そんな時の対応方法をまとめます。

操作しても何も反応がないとき

拡張機能をインストールして、いざ操作しようと思ってボタンを押しても何の反応もありません。
エラーログが出る様子もありません。

ググろうにも情報がなく「vscode live share not working」とか入れる時に確認する内容です。

筆者の場合はウィンドウ下のステータスバーにLive Shareも表示されませんでした。

ログを確認する方法

Live Shareのログは出力パネル等には表示されません。
コマンドパレット(F1)からLive Share: Export Logsを選択してログのZIPを出力しましょう。

ちなみに、私がWindowsで操作しても何も反応がない状態の時は、以下のログが出力されていました。

[2021-02-17 13:13:17.598 Client I] Passed version check for Windows: found 10.0.19042
[2021-02-17 13:13:17.664 Client I] Installing dependencies for Live Share...
[2021-02-17 13:13:17.680 Client I] Downloading package '.NET Core Runtime 3.1.1 for win7-x86' 
[2021-02-17 13:13:23.034 Client I] Download complete.
[2021-02-17 13:13:23.035 Client I] Installing package '.NET Core Runtime 3.1.1 for win7-x86'

[2021-02-17 13:13:31.108 Client I] Passed version check for Windows: found 10.0.19042
[2021-02-17 13:13:31.154 Client I] Installing dependencies for Live Share...
[2021-02-17 13:13:31.164 Client I] Skipping package '.NET Core Runtime 3.1.1 for win7-x86' (already downloaded).
[2021-02-17 13:13:32.339 Client.Rpc V] RPCClient.init retryCount:0 currentRetryInterval:0
[2021-02-17 13:13:32.351 Debug.Rpc.Host V] TrackDebugManager created
[2021-02-17 13:13:32.372 Client.Rpc V] disposing the object
[2021-02-17 13:13:32.373 Client.Rpc V] Agent connection not completed: Error: connect ENOENT \\.\pipe\vscode.b736bfc7a373c25d2c6284d5f765e63b; Retrying...
[2021-02-17 13:13:32.374 Client.Rpc V] RPCClient.init retryCount:1 currentRetryInterval:100
[2021-02-17 13:13:32.377 Client.Agent V] Agent lock on:<?:\<redacted>\<redacted>.lock>
[2021-02-17 13:13:32.382 Client.Agent I] starting agent with pipe:vscode.b736bfc7a373c25d2c6284d5f765e63b
[2021-02-17 13:13:32.382 Client.Agent I] signalR service -> uri:https://signlr-prod.core.vsengsaas.visualstudio.com/api/signalr/signalrhub
[2021-02-17 13:13:32.778 Client.Agent I] Agent terminated with exit code: 0 and signal null: Error:
  An assembly specified in the application dependencies manifest (Microsoft.NETCore.App.deps.json) was not found:
    package: 'runtime.win-x86.Microsoft.NETCore.App', version: '3.1.1-servicing.19608.4'
    path: 'runtimes/win-x86/lib/netcoreapp3.1/System.ComponentModel.Annotations.dll'
[2021-02-17 13:13:32.890 Client.Agent V] Agent unlocked
[2021-02-17 13:13:36.750 Client I] Deactivating extension from background agent startup.
[2021-02-17 13:13:36.753 Client I] Hub connection is being enabled...
[2021-02-17 13:13:36.756 Client I] Client deactivation requested.

Windows

修復用のコマンドが用意されているため、このコマンドから修復を試みます。
拡張機能自体をアンインストールしたり、直接extensionディレクトリから拡張機能を削除しても変化がない状況でも、このコマンドで改善しました。

Live Share: Repair Installation

LinuxやDockerコンテナ

LinuxOSで開発している場合や、Remote Container機能でDockerコンテナ内のLinuxOSで作業している場合に発生しやすい問題です。

LinuxOSのどのディストリビューションに対応している訳ではなく、ディストリビューションによっては動かなかったり、別途インストールを求められる場合もあります。
特にDockerコンテナやSlim等とサフィックスがついた最小限の構成の場合は問題が発生しやすいでしょう。

その場合、コンテナ内のターミナルで以下のコマンドから問題の検出・解消するスクリプトを実行します。

wget -O ~/vsls-reqs https://aka.ms/vsls-linux-prereq-script && chmod +x ~/vsls-reqs && ~/vsls-reqs

参考:Linux のインストールの詳細-Visual Studio Code
https://docs.microsoft.com/ja-jp/visualstudio/liveshare/reference/linux

RemoteContainerのコンテナ生成時に自動で解消する

.devcontainer.jsonのコンテナ作成時にコンテナ内で実行されるコマンドを定義するpostCreateCommandで先のスクリプトを実行します。

"postCreateCommand": "apt update && apt install -y wget && wget -O ~/vsls-reqs https://aka.ms/vsls-linux-prereq-script && chmod +x ~/vsls-reqs && ~/vsls-reqs"

プログラミングカテゴリの最新記事