vscode在m系列mac上闪退或高发热,主因是架构错配、插件冲突、用户数据损坏或macos与vscode版本不兼容;需取消rosetta、使用arm64版、清插件、校验配置、降级vscode或系统。

确认 VSCode 是否真在 Rosetta 下运行
VSCode 在 M 系统上闪退或发热高,八成是因为它被强制跑在 x86_64 模拟层里——Rosetta 2 本身不崩溃,但会让 Electron 渲染线程调度异常、GPU 调用错乱,结果就是启动一闪即逝,或开个文件就风扇狂转。
- 右键
Visual Studio Code.app→「显示简介」→ 检查「使用 Rosetta 打开」是否勾选 → 务必取消勾选 - 打开终端,运行
arch -arm64 code --verbose,看是否能稳定启动;如果可以,说明问题就在架构错配 - 别信“官网下载就一定对”——去 code.visualstudio.com/Download 页面,认准标有 ARM64 或 Universal 的 macOS 版本;x64 版本从 2025 年底起已明确不推荐用于 M 系列 Mac
清 extensions 是最快验证插件冲突的方法
插件是闪退头号元凶,尤其 ms-python.python、ms-vscode.cpptools、esbenp.prettier-vscode 这类语言服务插件,一启动就 spawn 子进程,路径或 Node 版本稍有不匹配,主进程直接退出,连错误页都不弹。
- 先别一个个禁用——太慢。直接删掉插件目录:
rm -rf ~/.vscode/extensions - 删完立刻运行
code --verbose,观察最后几行:如果不再报Cannot read property 'activate' of undefined或卡在Splash阶段,基本锁定是插件问题 - 重装插件时,**每次只装一个,重启一次 VSCode**;别图快全装上再测,否则根本分不清谁在拖后腿
用户数据损坏比你想象中更常见
一个写错逗号的 settings.json、一个损坏的 workspaces.json、甚至 globalStorage 里某个插件存的二进制缓存,都可能让 VSCode 在恢复窗口状态时 panic 退出——没报错、不弹窗、就是不开,特别像“系统级崩溃”。
- 临时重命名用户配置目录:
mv ~/Library/Application\ Support/Code/User ~/Library/Application\ Support/Code/User.bak - 重启 VSCode,如果正常了,说明是配置损坏;此时可把原
settings.json拷回来,用 jsonlint.com 校验语法 - 跳过
workspaces.json和整个globalStorage文件夹——它们没法人工修,只能重建
macOS 版本与 VSCode 版本存在隐性兼容断层
这不是玄学。VSCode 1.91.x 开始依赖 macOS 13.5+ 的某些 Core Animation 行为,如果你还在用 macOS 12.x 或 13.0–13.4,即使 ARM64 版本也会出现随机闪退、窗口渲染撕裂、CPU 占用飙到 200%——尤其是开启多窗口或 Remote-SSH 时。
- 检查系统版本:
sw_vers;若输出是macOS 12.x或13.0–13.4,请降级到 VSCode1.90.x(官网提供历史版本下载) - 禁用自动更新:设置里搜
update.mode→ 改成none;否则第二天它又悄悄升到 1.91.x,一切白忙 - 升级 macOS 是根治法,但不是所有设备都能升;M1 MacBook Air 用户若卡在 12.7,别硬扛,老老实实用 1.90.x 更稳
真正麻烦的从来不是“打不开”,而是 code --verbose 没报错、删插件没用、重装也无效——这时候大概率是用户数据目录某处字节损坏,或者系统底层图形栈和 Electron 不兼容。这种问题没法一键修复,得一层层剥开看。











