必须安装官网darwin-arm64版VSCode,禁用Universal包;验证需三步:file命令查Electron含arm64、ps命令确认Code Helper进程全为arm64、简介中未勾选Rosetta且架构显示Apple silicon。

直接装官网 darwin-arm64 版,别碰 Universal 包——M3 芯片上 Universal 会默认走 x86_64 路径,导致内存占用翻倍、插件频繁崩溃。
怎么确认你真在用 ARM64 版 VSCode?
很多人以为拖进 Applications 就完事,其实图标启动可能仍调用旧版或 Rosetta。必须用终端命令实锤:
- 运行
file /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron,输出里必须含arm64;出现x86_64就是假原生 - 启动 VSCode 后,再跑
ps aux | grep "Code Helper" | grep -v grep,所有Code Helper (Renderer)进程右侧列都得是arm64,不是x86_64 - 右键 Dock 图标 →「显示简介」→ 确认「打开方式」没勾选「使用 Rosetta」,且「体系结构」写的是 Apple silicon
为什么 Universal 包在 M3 上反而更慢?
Universal 包虽含 arm64 二进制,但 macOS 默认优先加载 x86_64 段(尤其当系统缓存或 Launch Services 数据残留时)。结果就是:VSCode 启动快(因为 Electron 主进程可能走 arm64),但渲染进程、扩展宿主、终端集成全被 Rosetta 拖住,内存常驻多出 400–600MB,Code Helper (GPU) 进程还容易卡死。
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
- Universal 包的
Info.plist里没有显式声明LSArchitecturePriority,系统无从判断优先级 - M3 的 Unified Memory 架构对 Rosetta 的内存映射开销更敏感,大项目下 GC 延迟明显升高
- 某些插件(如
ms-vscode.cpptools)的 native server 若被 Rosetta 加载,会直接拒绝启动并报错Unsupported architecture
安装后必须调的三个内存相关设置
ARM64 版 VSCode 在 M3 上默认未针对 Unified Memory 优化,不调这几项,编辑 10k 行以上 TS 文件时内存峰值轻松破 2GB。
- 在
settings.json中加:"editor.quickSuggestions": false—— IntelliSense 的 AST 缓存占内存大户,关掉后内存回落 30% - 加:
"extensions.experimental.affinity": 2—— 强制扩展进程与主窗口分离(值为 2 表示独立进程),避免插件泄漏拖垮主进程 - 加:
"terminal.integrated.gpuAcceleration": "off"—— M3 的 GPU 加速对终端渲染反而增加 Metal 上下文切换开销,关掉后终端内存稳定在 120MB 内
最容易被忽略的是 Shell 环境:如果终端里 echo $SHELL 返回的是 Rosetta 启动的 zsh(比如路径含 /rosetta 或 arch -x86_64),那 VSCode 集成终端里所有工具链(gcc、node、python)都会被带偏——哪怕 VSCode 本身是 arm64,也救不回整个开发流的内存膨胀。

















