状態
(ほぼ)全ての拡張機能が無効化され、新たに拡張機能を有効化(インストール)しようとしても Unexpected end of JSON input
のエラーが出ます
なぜ起きたか
わからないです。
何もしてないけど壊れました。
何が起きているのか
エラー文から推測するに、拡張機能なりVS Codeなりを管理しているJSONファイルの形式が壊れていそうです。
運が良ければJSONファイルの修正で済みそうですが、現状はエラーが出ているせいで拡張機能のインストールも出来ないしそもそも使えない状況なので、とりあえずどうにかしなければいけない状況です。
ただ、VS Codeを起動しただけでは影響はなく、WSLに繋いだ時だけ影響がありそうです。
(通常起動時↓)
WSL上のVS Code の拡張機能を管理しているjsonファイルを確認する
$ cd ~/.vscode-server-insiders/extensions/
$ cat extensions.json
ファイルサイズがでかいので全て乗せるのは省略しますが、とりあえずはJSONファイルが壊れていそうです。
流石に修正するのは困難かつ、拡張機能はインストールし直せば良いので、JSONファイルを消してしまいます。
$ mv extensions.json _backup.json
(消すと言いつつ消すのが怖い人)
再起動
拡張機能が正常に再インストールされました。
めでたしめでたし。
まとめ
VS Codeはアップデート中とかに無理やり強制終了させてしまうとたまにファイルが壊れてしまうので気をつけないとですね。
もちろん積極的に強制終了させることは無いんですが、Windowsを再起動するタイミングでVS Codeを終了 → 終了したタイミングでVS Codeのアップデートが走る → アップデート中にWindowsを再起動させてしまう
これで簡単に壊れてしまいます。
気をつけなければ。
出典
https://chat.openai.com/share/1a46ee3b-86e1-4b11-b3a5-022025bcc2c1
チャットGPTやるなぁ