まず最初に。
今回かなり試行錯誤していた中で、スクリーンショットを残すことをすっかり忘れていたため、文字ばかりであることをご了承ください。
先日、新しいVSCode環境を構築しようと思い、公式サイトからZIP版のVSCodeをダウンロードしてポータブル化しました。
※Code.exeと同じ階層に「data」という空のフォルダを作成すると、ポータブル化できます
ところが、構築直後から様々な問題が発生しました。
発生した症状
最初に発生したのは、VSCodeのショートカットが効かない問題です。
- Ctrl + S で保存できない
- Ctrl + Z で元に戻せない
- Ctrl + F で検索できない
調査したところ、こちらはダウンロードしたZIPファイルのプロパティを開き、セキュリティの「このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」の横にある「許可する」にチェックが入っていないことが原因でした。
「許可する」にチェックを入れてから、ZIPファイルを再展開することで解決しました。
しかし、今度は別の問題が発生しました。
テーマのインストールができない
デフォルトテーマは使用できるものの、「その他の色のテーマを参照」をクリックするとエラーが発生します。
表示されたエラーは以下のような内容でした。
Error while searching for themes:
Unexpected non-whitespace character after JSON at position ~
さらに、Marketplaceからテーマをインストールしようとしても失敗します。
試したこと
まずは以下を試しました。
- VSCodeの再起動
- キャッシュの削除
- dataフォルダの初期化
- VSCodeの再展開
- Marketplaceからの再取得
しかし改善しませんでした。
セキュリティソフト(ESET)の影響も疑いましたが、結果的には違いました。
原因
最終的に原因だったのは、
extensions.json
の破損でした。
中身を確認しようとエディタで開こうとしても正常に表示できず、JSONファイルとして壊れている状態でした。
解決方法
以下の手順で解決しました。
- VSCodeを終了
- extensions.json をリネーム
- VSCodeを再起動
するとVSCodeが自動的に新しいextensions.jsonを生成し、
- テーマ一覧表示
- Marketplaceからのインストール
- 拡張機能管理
がすべて正常に動作するようになりました。
さいごに
今回のケースでは、
Unexpected non-whitespace character after JSON
というエラーが重要なヒントでした。
もし、
- テーマ一覧が開けない
- Marketplaceからインストールできない
- JSON関連のエラーが表示される
という症状が発生している場合は、extensions.json の破損を疑ってみる価値があると思います。
私の場合は、ファイルをリネームするだけで解決しました。
今日の作業は以上です。お疲れ様でした!
コメント