Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@coa00

VSCode は素晴らしいが CPU使用率100% 以上使ってしまう問題

VSCode 便利ですよね。
自分は最初IntelliJ使っていたのですが、VSCodeが盛り上がってきたので乗り換えました。

フリーで使えて言語によってIDEをかえる必要もなくなり、ものすごく満足しています。

VSCode はフリーで使えるIDEとしては歴代最高水準(個人的に)

(別に自分が今更絶賛することではないのですが)

  • 高速に動作
  • 多くの言語をサポート
  • 豊富なプラグイン
  • 活発なコミュニティ

そんな最高な IDE ですが、時にはPCのリソースを食い潰します。

image.png

VSCode は メモリ、CPUを出来る限り使って高速な動作を実現しています。
それはそれでよいのですが、性能が限界に達するとPCごと重くなります。

例えば、Idea の IDE は、実行環境であるJVMに上限が設定されているため、
重くなると 自分で上限を設定する必要があります。

問題がおきる背景

VSCode は、整形、補完、バリデーションを行うためにファイルを監視しています。
その仕組みが、CodeHelper というプロセスです。

Code Helper はファイルを監視しています。

そのため、ファイル数が増えると、それに応じてCPU,Memory の消費量がどんどん増えていきます。
CPUリソースが枯渇しはじめるとエディタのレスポンスが悪くなっていきます。

対策

Node のプロジェクトは、nodemodules のなかに大量のファイルがあります。
そういったファイルは標準の設定で監視対象から外されています。

ただ他のも Amplify, Create React App や Nuxt.js などを使うとビルドファイルが生成され、
そういったファイルも監視対象から外す必要があります。

Code->設定-> 基本設定

を開き、

files.watcherExclude で検索しましょう。

image.png

ユーザのパターンを追加で

"**/build/**"

などを追加することができます。

チームに共有しよう

チーム開発をしている場合は上記の対応を開発車全員に共有する必要があります。files.watcherExclude はフォルダ単位でも設定することでき、
その内容を共有することができます。

フォルダ単位で設定した内容は下記に保存されます。

project/.vscode/setting.json

このファイルを commit & push すると、そのブランチを pull したユーザの環境にもその対応を追加することができます。

VSCode はやっぱりすごい。

設定しないと重くなってしまうとはいえ、自分で設定し、さらにそれをチームに共有できる、設定ファイルもわかりやすい、という意味ではやっぱりすごいIDEだなと思います。

この情報もissueで議論されたものを参考にしたものです。
対応策がみんなで議論されていました。

今後のバージョンアップで標準設定ファイルも改善されていくと思います。

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
coa00
CTOはじめました。 frontend, node.js あたりの仕事をする人。エンジニアからディレクションまでなんでもやる人。フリーランスのお友達とお仕事くださいー。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
4
Help us understand the problem. What is going on with this article?