見出し画像

VsCode の立ち上げが遅い

最近Vscodeの起動が遅いことに気づいたので色々と調べてみました。
その記録です。

とりあえず、まずはコマンドパレットからDeveloper: Startup Performanceを見てみる。

## Performance Marks

| What                                                            | Duration | Process                   | Info                                                        |
| --------------------------------------------------------------- | -------- | ------------------------- | ----------------------------------------------------------- |
| start => app.isReady                                            | 3361     | [main]                    | initial startup: true                                       |
| nls:start => nls:end                                            | 0        | [main]                    | initial startup: true                                       |
| require(main.bundle.js)                                         | 77       | [main]                    | initial startup: true                                       |
| start crash reporter                                            | 3318     | [main]                    | initial startup: true                                       |
| serve main IPC handle                                           | 1        | [main]                    | initial startup: true                                       |
| create window                                                   | 22       | [main]                    | initial startup: true, state: 1ms, widget: 11ms, show: 10ms |
| app.isReady => window.loadUrl()                                 | 127      | [main]                    | initial startup: true                                       |
| window.loadUrl() => begin to require(workbench.desktop.main.js) | 9869     | [main->renderer]          | NewWindow                                                   |
| require(workbench.desktop.main.js)                              | 301      | [renderer]                | cached data: YES, node_modules took 0ms                     |
| wait for window config                                          | 0        | [renderer]                | -                                                           |
| init storage (global & workspace)                               | 11       | [renderer]                | -                                                           |
| init workspace service                                          | 21       | [renderer]                | -                                                           |
| register extensions & spawn extension host                      | 159      | [renderer]                | -                                                           |
| restore viewlet                                                 | 10       | [renderer]                | workbench.view.explorer                                     |
| restore panel                                                   | 0        | [renderer]                | -                                                           |
| restore & resolve visible editors                               | 152      | [renderer]                | 1: workbench.editors.files.fileEditorInput                  |
| overall workbench load                                          | 294      | [renderer]                | -                                                           |
| workbench ready                                                 | 13981    | [main->renderer]          | -                                                           |
| renderer ready                                                  | 630      | [renderer]                | -                                                           |
| shared process connection ready                                 | 0        | [renderer->sharedprocess] | -                                                           |
| extensions registered                                           | 14078    | [renderer]                | -                                                           |

なるほど、どうやら[main]→[renderer]の過程で時間がかかっている模様。
そこで検索をかけたり、ChatGPTに聞いたりして以下を試す。

  • 拡張機能を全てアンインストール

  • キャッシュをすべて削除

  • Vscodeを再インストール

  • リソースの確認(メモリーの使用状況など)

  • VScode Insiderのインストール

しかし、なかなか治らない。
めげずにGithub(microsoft/vscode: Visual Studio Code (github.com))を確認してみると…

こちらを発見。どうやらアンチウイルスソフトのリアルタイムのスキャニングが原因かもしれない。

さっそくcode.exeをexclude filesに入れてみると…

## Performance Marks

| What                                                            | Duration | Process                   | Info                                                       |
| --------------------------------------------------------------- | -------- | ------------------------- | ---------------------------------------------------------- |
| start => app.isReady                                            | 151      | [main]                    | initial startup: true                                      |
| nls:start => nls:end                                            | 0        | [main]                    | initial startup: true                                      |
| require(main.bundle.js)                                         | 58       | [main]                    | initial startup: true                                      |
| start crash reporter                                            | 113      | [main]                    | initial startup: true                                      |
| serve main IPC handle                                           | 1        | [main]                    | initial startup: true                                      |
| create window                                                   | 27       | [main]                    | initial startup: true, state: 0ms, widget: 27ms, show: 0ms |
| app.isReady => window.loadUrl()                                 | 109      | [main]                    | initial startup: true                                      |
| window.loadUrl() => begin to require(workbench.desktop.main.js) | 284      | [main->renderer]          | NewWindow                                                  |
| require(workbench.desktop.main.js)                              | 187      | [renderer]                | cached data: YES, node_modules took 0ms                    |
| wait for window config                                          | 0        | [renderer]                | -                                                          |
| init storage (global & workspace)                               | 11       | [renderer]                | -                                                          |
| init workspace service                                          | 20       | [renderer]                | -                                                          |
| register extensions & spawn extension host                      | 145      | [renderer]                | -                                                          |
| restore viewlet                                                 | 12       | [renderer]                | workbench.view.explorer                                    |
| restore panel                                                   | 0        | [renderer]                | -                                                          |
| restore & resolve visible editors                               | 77       | [renderer]                | 1: PerfviewInput                                           |
| overall workbench load                                          | 221      | [renderer]                | -                                                          |
| workbench ready                                                 | 978      | [main->renderer]          | -                                                          |
| renderer ready                                                  | 440      | [renderer]                | -                                                          |
| shared process connection ready                                 | 0        | [renderer->sharedprocess] | -                                                          |
| extensions registered                                           | 1212     | [renderer]                | -                                                          |

みごと改善!

教訓

困ったらGithub(公式ドキュメント)も見てみよう。
「Vscode + アンチウイルスソフト」の組み合わせは意外と多いと思うので、皆さんも気を付けてください。

この記事が気に入ったらサポートをしてみませんか?