1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCode が重い!調査の流れと犯人を突き止めた話

Posted at

はじめに

ある日ふと思いました。

なんか VSCode めっちゃ重いやん?🤔

  • マウスや UI が固まる
  • GitLens のコミットログが出ない
  • Copilot の補完が止まる

最初は「まあリロードすれば直るし…」とごまかしてました。
でも毎回リロードはつらい…。
エンジニアとして「根拠に基づいて改善しよう」と思い直しました。

改善の進め方

ソフトウェアのパフォーマンス改善と同じように最初に方針を立て、以下の流れで改善しました。

  1. 目標を決める
  2. 測定
  3. 解析
  4. 解決策を考える
  5. 実行・効果測定

Step 1: 目標を決める

ちゃんと何が重いのか確認するとこから始めました。
「重い」をちゃんと分解すると…

  • VSCode が固まる(マウスすら動かない)
  • コミットログが表示されない
  • Copilot の補完が出ない

👉 これらを解決して、ストレスフリーにする!

Step 2: 測定

VSCode にはパフォーマンス調査に役立つ機能がいくつかあります。

  • Startup Performance
  • Developer Tools
  • Process Explorer

ひとつずつ確認していきました。

Startup Performance

VSCode の起動時間を測定できる機能です。
Ctrl+Shift+P → 「Startup Performance」と入力すると、起動処理のタイムラインが表示されます。
👉 今回は起動が重いわけではなかったので除外。
startup.png

Developer Tools

UI やネットワーク関連のエラーを確認できます。
Help > Toggle Developer Tools から開いて Console や Network をチェック。
👉 エラーなし、ネットワークも問題なし。

Process Explorer

VSCode の各プロセスの CPU / メモリ使用率を確認できます。
Help > Open Process Explorer で確認可能。

👉 ここで大発見。拡張機能プロセスが CPU 99% に張り付いていました!

(記事にするとは思ってなく CPU が張り付いた実際の画像ないです🥺)
cpu.png

Step 3: 解析

「拡張機能が怪しい」のは分かったけど、 Process Explorer はどの拡張機能が原因かを教えてくれません🥺。
そこで Extension Bisect を発動!

Extension Bisect

VSCode に標準で備わっている「拡張機能切り分け」ツールです。

  1. Help > Start Extension Bisect を選択
  2. 拡張が半分ずつ無効化される
  3. 再現するかどうか答えていく
  4. 繰り返すことで原因拡張を特定

bicect.png

👉 この結果、自分の場合、犯人は Rails 拡張機能 でした。

Step 4: 解決策

Rails 拡張は便利だけど、自分はほとんど使っていなかった…。
しかも他の補完と競合。
いらないやん。

👉 思い切って削除!えい!!

Step 5: 効果測定

拡張機能を削除したら…

  • CPU 使用率が 99% → 10% に改善
  • 体感でも明らかに軽くなった
  • 開発環境に平和が戻った ✨

学び

  • 「とりあえずリロード」「とりあえず拡張削除」じゃなくて、
    目的認識 → 調査 → 方針 → 実行 → 評価 が大事
  • VSCode の Process Explorer / Extension Bisect は超強力
  • 拡張機能は「おすすめされたから」じゃなくて
    自分に必要かどうかで選ぶべし

おわりに

VSCode が重くて困ってる方へ
まずは標準の調査機能を試してみてください。

👉 思ってたんと違った原因が出てくるかもです

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?