VS Code が突然フリーズしたり、ファンが激しく回転したり、CPU が長時間占有されたりした場合、最も一般的な原因は通常、エディタ自体ではなく、拡張プラグインの競合またはプラグインの異常な動作です。
この記事では、問題を特定するために最も時間を節約できる方法を優先して、すぐに実行できる一連のトラブルシューティング パスを示します。
最初に最速の位置決めを実行します: Extension Bisect を開始します
Start Extension Bisect の核となるアイデアは次の二項対立です。
各ラウンドでは、拡張機能の半分が一時的に無効になり、再起動されます。 「問題がまだ存在するかどうか」というフィードバックを通じて、疑わしいプラグインが見つかるまで範囲がすぐに狭められます。
操作手順:
Ctrl+Shift+P(macOS ではCmd+Shift+P) を押してコマンド パネルを開きます。Start Extension Bisectを入力して実行します。- 再起動するたびに、CPU 使用率とフリーズが再発するかどうかを観察します。
- 数回繰り返すと、VS Code によって疑わしい拡張機能のリストが表示されます。
位置決め後に何をするか
疑わしいプラグインを見つけたら、次の順序で対処することをお勧めします。
- まずプラグインを最新バージョンに更新してください。
- 改善が見られない場合は、プラグインを一時的に無効にして 1 ~ 2 日間観察してください。
- 置き換え可能な機能を持つプラグインについては、より軽量なソリューションへの置き換えが優先されます。
- このプラグインを使用する必要がある場合は、その詳細設定を確認し、不要なリアルタイム分析、インデックス作成、または監視機能をオフにしてください。
見落とされがちな2つの「増幅器」
主な原因がプラグインである場合でも、次の構成により CPU の問題が増幅されます。
-
検索範囲が大きすぎます
たとえば、ビルド製品、依存関係ディレクトリ、ログ ディレクトリをグローバル検索に含めると、引き続きプラグインとファイル インデックスに高い負荷がかかります。 -
ファイル監視には大きなディレクトリまたはソフト リンクが含まれています
ソフト リンク、キャッシュ ディレクトリ、および自動生成されたディレクトリは、簡単に多数のファイル イベントをトリガーし、拡張機能が繰り返し動作する可能性があります。
ディレクトリは、settings.json で適切に除外できます。たとえば、次のようになります。
|
|
提案をレビューする
問題のあるプラグインを見つけた場合は、プラグイン名、トリガーとなるシナリオ、最終的な処理方法の 3 つの情報を記録することをお勧めします。
このようにして、次回環境を移行するかシステムを再インストールするときに、同様の問題をすぐに回避できます。
要約する
VS Code の高い CPU 使用率をトラブルシューティングするには、最初に Start Extension Bisect を使用して迅速に特定し、次に検索範囲とファイル監視範囲を組み合わせて収束させるのが最も効果的です。
最初に配置を決めてから最適化する方が、「多数のプラグインをやみくもに無効にする」よりも時間を節約でき、安定性も高くなります。