Open6
買ったばかりのMacBook Air(M3)のCPUがVSCodeのCodeHelperに食い尽くされるのでBisectしたらbradlc.vscode-tailwindcssが原因だった話
What
タイトルの通り。
前提
- MacBook Air(M3)15インチを購入(Apple認定整備済み)
- VSCode等をセットアップ完了し、devcontainerに繋いだりDockerをフル稼働していた
- 発熱がすごい&充電してもバッテリーが減っていく
- VSCode: Version: 1.95.2
当時の思考回路
アクティビティモニタは見ていたが、正常性バイアスの見本市で原因特定には至らなかった。
💬 Dockerとかフルで使っているせいかなー
💬 充電が減るのはACアダプターが弱い(「デュアルUSB-Cポート搭載35Wコンパクト電源アダプタ」)からかなー(参考)
💬 15インチはやっぱり電池食うのかなー
💬 もしかして初期不良引いたかなー
💬 要らない拡張機能を消してみた(目視)けど直らないなー
💬 出来立てのCPUは食欲そそるのかなー
さすがにおかしいな?
Extension Bisectしてみる
機能自体は知っていたが、ちゃんと使ったことはなかった。
Extension Bisectをスタート
アクティビティモニターを開いておき、CPUを確認できる状態にする。
手順
名前の通り、拡張機能を半分ずつdisableして、Binary Searchで原因となる拡張機能を発見する。
だんだん赤丸の数値が減っていく。
アクティビティモニターを確認し、CPUの状態を確認する。
- CPUがそのまま => I can reproduce
- CPUが減った => I can't reproduce
これを繰り返し、絞り込むと調査結果が表示される。
結果
bradlc.vscode-tailwindcss
が炙り出された。
調査
たしかにこれをuninstallしたところ、状況は劇的に改善した。充電してもバッテリーは減らない。
Issueが上がっていた。Appleシリコン限定かはわからないが、M2 Proでも報告あり。
- https://github.com/tailwindlabs/tailwindcss-intellisense/issues/973
- https://github.com/tailwindlabs/tailwindcss-intellisense/issues/963
- https://github.com/tailwindlabs/tailwindcss-intellisense/issues/1056
なお、Tailwindを使っていなくても起こる。正規表現のmatchの問題の様子。
まとめ
- 詳細は立ち入っていないが、
bradlc.vscode-tailwindcss
が原因だった。-
Extension Bisect
のやり方を覚えた。
-
- 買ったばかりのMacBook Airを酷使することになってちょっと悲しい。
- 同様の事象に遭遇した方の参考になれば。