必须安装 ARM64 原生版 vscode 并确保终端、Homebrew、Shell 及扩展全链路为 arm64 架构,禁用沙盒并启用 Metal 渲染可进一步优化性能。

VSCode 在 apple Silicon(M1/M2/M3)mac 上运行非常流畅,但默认安装或旧习惯可能导致性能未达最优——关键在于用对原生版本、配好底层工具链、避开 Rosetta 兼容层带来的隐性开销。
必须安装 ARM64 原生版 VSCode
Apple Silicon Mac 能运行 x86_64(Intel)应用,但 VSCode 的 Intel 版本会通过 Rosetta 2 翻译执行,导致扩展加载慢、终端卡顿、CPU 占用偏高。务必从官网下载标有 “Apple Silicon” 或 “ARM64” 的安装包(.zip 或 .dmg),而不是通用(Universal)或 Intel 专用版。
- 打开 code.visualstudio.com → 下载页面确认文件名含
darwin-arm64 - 已装 Intel 版?直接拖入废纸篓,再清空
~/Library/Application Support/Code(保留配置可先备份settings.json) - 验证是否原生:在 VSCode 内按
Cmd+Shift+P→ 输入Developer: Show Running Extensions,看进程架构列是否为arm64
终端与 Shell 工具需匹配 ARM64 架构
VSCode 内置终端(Terminal)若调用的是 Intel 版 zsh/bash 或 Homebrew 工具,会触发 Rosetta,拖慢 git、node、python 等操作。
- 确保你的 shell 是原生 ARM64:终端中运行
uname -m,输出应为arm64(不是x86_64) - Homebrew 必须重装 ARM64 版:
arch -arm64 /bin/bash -c "$(curl -fssl https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)",然后brew install node git python - VSCode 设置里检查
terminal.integrated.defaultProfile.osx指向的 shell 路径(如/opt/homebrew/bin/zsh),而非/usr/bin/zsh(系统自带版可能被 Rosetta 劫持)
扩展生态基本无兼容问题,但注意几个关键点
绝大多数主流扩展(ESLint、Prettier、Python、Remote-ssh)已原生支持 ARM64。少数依赖二进制模块的扩展需额外确认。
- 优先选用官方或高星扩展:社区已普遍完成适配,如
ms-python.python、esbenp.prettier-vscode - 避免使用含老旧 Node.js native addon 的扩展(如某些小众 LSP 客户端),它们可能仍打包 x86_64 .node 文件
- 如果某个扩展报错 “cannot execute binary file”,右键扩展 → “Uninstall”,再重启 VSCode 后重装
内存与图形渲染可进一步微调
M1/M2 芯片共享内存(Unified Memory),VSCode 默认内存限制较保守;同时 Metal 渲染在部分场景下比 canvas 更稳。
- 在
settings.json中添加:"window.experimental.useSandbox": false(禁用沙盒可减少 ARM64 下偶发的渲染延迟) - 启用 Metal 渲染:
"disable-hardware-acceleration": false+"rendererType": "metal"(适用于 M1 Pro/Max 及后续芯片) - 如常开 50+ 标签页,可适当提高内存上限:
"editor.memoryLimit": 4096(单位 MB)
基本上就这些。Apple Silicon 上的 VSCode 不是“能用”,而是“该用得更轻快”——核心就是一条:所有环节(VSCode 本体、Shell、CLI 工具、扩展依赖)保持 ARM64 链路完整,不跨架构混用。