はじめに
.envを保存し忘れてDBに繋がらなかった話のあと、次にハマったのが 拡張機能の整理 でした(笑)
ハッカソン・Web 系、Kaggle(データ分析)……土俵がバラバラなのに、プロファイルの存在を知らないまま 拡張機能が 52 個 まで増え、Kaggle の .ipynb をローカルで触るたびに PC が重くて重くて仕方なかった 話です U・ェ・U
VS Code のプロファイル機能 で用途を分けたら 一発でかなり軽くなりました ((_๑òωó)_バァン
想定読者
- 拡張機能が増えすぎて PC が重いと感じている Cursor / VS Code 初心者
- Kaggle や Jupyter をローカルで試している方
- AI・データサイエンスの勉強法として、環境づくりの体験談 を読みたい方
私の属性
- 30代女性・事務職(開発は趣味〜ポートフォリオ寄り)
- エディターは Cursor がメイン。設定の考え方は VS Code 系 とほぼ同じ
- ハッカソン・Web フロント・Kaggle と、触る土俵がコロコロ変わる
何が起きたか
しんどかったのはプロファイルを知る前 でした 。。。(lll __ __)バタッ
- ハッカソン・Web 系、Kaggle 用と、学習するごとに拡張機能を入れていく
- 気づいたら 合計 52 個。プロファイルを知らないので、全部まとめて有効 のまま
- Kaggle の
.ipynbを ローカルで AI エージェントと編集・実験しようとする - カーネル選択やセル実行のたびにファンがうなる。Live Server・Prettier・Tailwind IntelliSense など Web 系が不要なのに動いている 感じ(´・ω・`)
- VS Code のプロファイル機能 を知り、Web 系用 と Kaggle 用 に分ける(Python は両方に入れる)
- Kaggle 用には Web 系を最初から入れない。フォルダごとに紐付け
- 一発でかなり軽くなった(今もこの運用を続けています) |ω・*)
Kaggle 本家はブラウザ+クラウド前提ですが(Kaggle Notebooks docs)、「手元でやりたい」なら Jupyter + Python 拡張が必要です。
プロファイル導入前は、それに加えて Web 系まで走っていて、セル1つ実行するだけなのに裏で Prettier やファイル監視が動いている感じでした。重いときは extensionHost の CPU を疑う、と後から知りました ((( _( 'ω') コソコソ
プロファイルで一気に軽くなったやり方
VSCodeのプロファイル機能を解説! などを参考に、次の2つに分けました。
| プロファイル | 入れたもの | 入れなかったもの |
|---|---|---|
| Web 系(ハッカソン・フロントなど) | Python, ESLint, Prettier, Tailwind IntelliSense, Live Server あたり | Jupyter |
| Kaggle / データ分析 | Python, Jupyter, Jupyter 用に Python 環境(venv など) | Web 系(ESLint, Prettier, Tailwind IntelliSense, Live Server など) |
フォルダごとにプロファイルを紐付けると、Kaggle 用フォルダを開けば Kaggle プロファイル、ハッカソン用なら Web 系プロファイル、と 切り替えを意識しなくてよくなりました(公式: Profiles)。
インストール済みの 合計 52 個 は減りませんが、今のプロファイルで有効な分だけ 動くので、体感はだいぶ変わります。「52個ある=常に52個動く」ではない、と理解できてから気持ちも楽になりました *゚Д゚)ドキドキ
これからプロファイルを試す人へ(ハマりどころ)
「すべてのプロファイルに拡張機能を適用」に注意
拡張を入れるとき、Apply Extension to all Profiles(「すべてのプロファイルに拡張機能を適用」)にチェックが入っていることがあります(日本語公式)。
テーマや Git 系など 本当に共通のもの 向けです。Kaggle 用に Web 系を入れたくないなら オフのまま で入れてください。
重いときの公式の近道
| コマンド | 用途 |
|---|---|
| Developer: Show Running Extensions | 今動いている拡張と起動時間を見る |
| Help: Start Extension Bisect | 犯人探しを二分探索で短縮(Wiki 手順) |
参考リンク(プロファイル・拡張機能・重さ対策)
困ったときの辞書代わりに、役に立った公式・記事 を多めにまとめました。全部読まなくて OK です。
プロファイルの基本
| リンク | おすすめポイント |
|---|---|
| Profiles in Visual Studio Code(英語公式) | プロファイルの作成、フォルダ紐付け、CLI の --profile
|
| Visual Studio Code のプロファイル(日本語公式) | 同上を日本語で。すべてのプロファイルに拡張機能を適用 の説明あり |
| VSCode 大量の設定・拡張機能をプロファイルで整理する #VSCode | 拡張だけ分離する、設定の「すべてのプロファイルに適用」の注意 |
| VSCodeのプロファイル機能を解説! #初心者 | テンプレ(Python / Data Science など)と切り替え手順がわかりやすい |
| VS Codeのプロファイル機能で開発環境をプロジェクトごとにスッキリ管理する | Frontend / Python / Go など 用途別の表 がイメージしやすい |
拡張機能が多い・重いとき
| リンク | おすすめポイント |
|---|---|
| Performance Issues · microsoft/vscode Wiki |
Extension Bisect、--disable-extensions、code --status
|
| How to Troubleshoot High VS Code CPU Usage Caused by Extensions | Bisect の手順、search.exclude / files.watcherExclude の例 |
| Find out which VScode extensions are slowing the IDE down(Stack Overflow) | Developer: Show Running Extensions で起動時間を見る |
| VS Code Performance – How to Optimize…(Bomberbot) | バンドルサイズ・activation events の考え方 |
| Can I configure specific VSCode extensions to only be enabled based on the current language?(Stack Overflow) | 言語ごとの自動切替はない。プロファイル or ワークスペース単位 が現実的 |
Kaggle・Jupyter・ローカル実行
| リンク | おすすめポイント |
|---|---|
| Jupyter extension(Marketplace) | ローカル .ipynb の入口 |
| Jupyter Notebooks in VS Code(公式) | カーネル選択、リモート Jupyter への接続 |
| microsoft/vscode-jupyter(GitHub) | 拡張の README・トラブル時の Discussion |
| Kaggle API / CLI(GitHub) | データセット download、kernel 操作 |
| VS Code Extension for Kaggle(fast-kaggle) | エディターから metadata 更新など(任意) |
| vscode-colab(Kaggle/Colab と VS Code 接続) | ローカルが厳しければクラウド側を叩く選択肢 |
チーム向け(個人プロファイルと併用)
| リンク | おすすめポイント |
|---|---|
| VSCodeをフォルダごとにカスタマイズする #環境構築 |
.vscode/extensions.json で 推奨拡張 をリポジトリに書く |
| Command Line Interface(VS Code 公式) |
--list-extensions、--install-extension、--profile
|
個人的には、プロファイルの公式日本語ページ と Performance Issues Wiki の2つをブックマークしておけば、今回みたいな「重いの誰のせい?」がだいぶ減ると思います ((_・ω・)_バァン…
まとめ
- 52個全部有効 のまま Kaggle ローカルだと、Web 系(Live Server など)まで動いて特に重い
- Web 系用と Kaggle 用の2プロファイル に分け、Kaggle 用から Web 系を外すと 一発で軽くなった(Python は両方に入れる)
- 合計数と 今動いている数 は別。後者が体感の軽さに効く
- 拡張の新規インストール時は 「すべてのプロファイルに適用」 に注意
同じ轍を踏んでいる人がいたら、まず プロファイルの存在 を調べてみてください (ノ´∀`*)
m(_ _)m 読んでくれてありがとうございました (*´▽`*)