VSCodeで原因不明なエラーが発生した時に試してみること

vscodeでエラー発生時に試してみることの紹介ページアイキャッチ

最近 VSCode を使っていて “原因不明なエラー” が発生したので困り果てていたのですが、ある方法でそれを解決することができました。

もしかしたら同様に VSCode で “原因不明なエラー” が発生して困っている人もいるかもしれませんので、備忘録的に私が試した方法をこのページで紹介したいと思います。

特に MacOSX の環境向けの記事になりますが、他の環境の方でもおそらくやることは同じです(パスが異なるくらい?)。参考になるかもしれませんので MacOSX 以外で VSCode を利用している方にもぜひ読んでみていただければと思います。

注意

VSCode の設定の一部が消えてしまう可能性があります

すみませんが、試すときは自己責任でお願いいたします

また、後述でも説明していますが、試すときは該当フォルダのバックアップを取ってから試すことをお勧めします

発生したエラー

一応ですが、私の環境で発生したエラー(つまり後述で説明する方法で解決したエラー)を紹介しておきます。が、このページで紹介する方法で解決できるのはこのエラーだけではないので、この点にはご注意ください。

私の環境で発生していたエラーは次のようなものになります。

  • CodeLLDB プラグイン(C言語プログラムをステップ実行するためのプラグイン)でプログラムを実行しようとしても下記のエラーが発生して実行できない
    • Error: Os { code: 61, kind: ConnectionRefused, message: "Connection refused" }

以前はこのプラグインは非常に快適に動作してくれていたのですが、ある時からこのメッセージが表示されるようになり、プラグインからのプログラムの実行が全くできなくなってしまいました…。

ちなみにエラーの原因を調べるために「VSCode CodeLLDB Connection refused」などでググってもほぼ情報ありませんでした。もちろん解決方法はどこにも載っていない。

なので、おそらく私の環境固有で発生している問題なんだろうなぁと思いました。困った…。

試したこと

で、このエラーがあまりに不便だったので私なりにいろいろ試してみました。具体的に下記を試してみましたが、いずれの方法でも問題は解決しませんでした…。

  • プラグインの再インストール
  • プラグインの設定変更
  • VSCode 自体の再インストール

プラグイン利用時に発生するエラーだったので、最悪プラグインを再インストールすれば直るだろうと思っていたのですがダメでした。プラグインの再インストール後にプラグインを利用しても同じエラーが発生してしまいます…。

じゃあ VSCode 自体を再インストール(アプリ本体を再インストール)したら流石に直るよね?って思って VSCode を再インストールしましたが、これでもダメでした…。

スポンサーリンク

効果のあったこと

最終的に試してみて、効果があったのが下記になります。

  • 下記フォルダの削除
    • ~/Library/Application\ Support/Code

~/Library/Application\ Support/Code には下記のようなフォルダが存在しています。

1.56.2-main.sock		GPUCache
Backups				Local Storage
Cache				Network Persistent State
CachedData			Session Storage
CachedExtensionVSIXs		TransportSecurity
CachedExtensions		User
Code Cache			blob_storage
Cookies				clp
Cookies-journal			languagepacks.json
Crashpad			logs
CrashpadMetrics-active.pma	machineid
CrashpadMetrics.pma		rapid_render.json
Dictionaries			storage.json

パッと見た感じ、~/Library/Application\ Support/Code はキャッシュ関連・ユーザー設定・開いたファイルの履歴・ログなどなどが保存されているフォルダのようです。

これらのフォルダ全てを削除して問題が解決したので、このフォルダ以下のいずれかのファイルが問題を引き起こしていたのだろうと予想します…。が、正直どれがエラーの原因になっていたのかは分かっていません…。

ただ、ここにはキャッシュ(Cache)関連のフォルダあるので、変にキャッシュが残ってしまっていてエラーになっていたんじゃないかなぁという気もしてます。なので、そのキャッシュを削除することで問題が解決できたのではないかと…。

もし原因不明なエラーが発生した場合、私と同様の原因でエラーが発生しているかもしれませんので、~/Library/Application\ Support/Code を削除してみると良いかもしれません。

MEMO

Windows の場合はパスが異なるので注意してください

ググった感じだと、Windows10 の場合はおそらく下記になると思います。

C:\Users\[ユーザー名]\AppData\Roaming\Code

ちなみに ~/Library/Application\ Support/Code を消してもインストールしたプラグインは残りますし、もちろん VSCode 自体も残ります。

試す時の注意点

削除後に VSCode を起動すると、新たにまた ~/Library/Application\ Support/Code が作成されることになります。ただし、いったん ~/Library/Application\ Support/Code を削除すると下記のような現象が発生するので注意が必要です。

  • 削除直後の VSCode の起動が遅い
  • 前回起動時に開いていたワークスペースが開かれない
  • VSCode に対する設定が消えている
    • 自動保存の ON / OFF など
  • ワークスペースを開いた履歴なども消えている
  • プラグインがうまく動作しない

キャッシュ系のファイルが全て消えてしまうので、”最初の起動が遅い”、”今まで開いたファイルの履歴などが消えてしまう” などの現象が起こります。

また最初はプラグインが上手く動かなかった気がします。これもおそらくキャッシュが消えるのが原因で、これに関しては何度か VSCode の再起動を繰り返せばフォルダ削除前の状態に戻ると思います。

また、VSCode への設定の一部も消えてしまいます。で、フォルダを消してしまうと、この消えてしまった設定はもう元に戻せないので注意が必要です。私の場合はファイルの自動保存の ON / OFF 設定が消えていただけなので問題ありませんでしたが…。

こういった設定の一部は、~/Library/Application\ Support/Code 以下の User/setting.json に保存されているようなので、設定が消えないようにしたい場合は User フォルダ以下は削除せずに残しておいた方が良いと思います。

すみませんが、設定の全てが User/setting.json に保存されているかまでは私は把握できていません…。.json 系のファイルは全て残しておいた方が良いのかも…。とりあえず設定が削除されて困るような場合には、下記のようにバックアップから復元することをオススメします。

復元できる状態にしてから試しましょう!

さらに、私の場合はこの方法で上手くエラーを解決することができましたが、もしかしたらあなたが抱えている問題はこの方法では解決できないかもしれません…。

なのに、上記のような現象が起こるのは嫌ですよね…。

なので、~/Library/Application\ Support/Code は消すのではなく、移動して or コピーして “バックアップ” を作成してから消す方が良いと思います。

要は、上記のフォルダをすぐに元に戻せる状態にしてからフォルダを消した方が良いです。

フォルダを消してもエラーが解決しないような場合は ~/Library/Application\ Support/Code をバックアップから復元してやれば VSCode も元に戻ります(ただし再起動は複数必要かも)。

また、エラーが解決できたとしても、VSCode の大事な設定が消えてしまうような場合はバックアップから復元することをオススメします。

スポンサーリンク

まとめ

このページでは、「VSCodeで原因不明なエラーが発生した時に試してみると良いこと」の紹介を行いました!

もしかしたら私が遭遇したエラーしか解決できないかもしれませんが…。どこがで誰かに役に立つかもしれないと思ってこのページを書いてみました。

どうやってもエラーが解決できないような場合は、この方法を最後の手段として試してみると良いかもしれません。

特に「ふとした瞬間からエラーが発生するようになった」ような場合は、キャッシュが悪さをしている可能性もあるので、このページで紹介した方法は効果的かもしれないです。

もし、このページで紹介した方法で “こんなエラーが解決できたよー” という情報がありましたら、他の人への参考にもなると思いますので、コメント等で教えていただけると大変嬉しいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です