最稳妥的解决方法是通过VSCode命令面板执行“Shell Command: Install 'code' command in PATH”,输入管理员密码后重启终端,验证code -v和which code。

code 命令找不到:PATH 没配对
终端输入 code . 报错 command not found: code,本质是系统根本不知道这个命令在哪。VSCode 的 code 可执行文件藏在应用包内部,不手动暴露出来,它就和系统 PATH 无关。
最稳妥的做法是用 VSCode 自带的安装命令,而不是手写路径——因为不同版本、不同芯片(Intel/M1/M2/M3)的 VSCode.app 内部结构一致,但用户容易抄错空格或斜杠:
- 打开 VSCode,按 ⇧⌘P 调出命令面板
- 输入
Shell Command: Install 'code' command in PATH,回车执行 - 输入管理员密码(仅首次需要),完成后重启终端
- 验证:
code -v应输出版本号,which code应返回类似/usr/local/bin/code的路径
别名方式(如 alias code='...')只在当前 shell 会话有效,且 ~/.zshrc 中漏写 source ~/.zshrc 或没重启终端,就会失效。更麻烦的是,它无法被子进程继承(比如从脚本里调用 code 可能失败)。
VSCode 启动后不识别当前目录
code . 启动后侧边栏为空、项目没加载,常见原因是 VSCode 启动时没拿到正确的当前工作目录。这通常发生在你用了别名但没加 -n 参数,或者通过 Finder 右键脚本启动时路径传递有误。
确保两点:
- 使用官方安装的
code命令(而非自定义 alias),它默认保留终端当前路径上下文 - 如果必须用 AppleScript 封装右键菜单,脚本中必须用
cd " & quoted form of POSIX path of input & " && code .,不能只写code /path/to/folder—— 后者会绕过 VSCode 的工作区逻辑,导致扩展、设置、.vscode/ 目录失效 - 避免在 tmux 或某些 IDE 内置终端中运行
code,它们有时会重置 $PWD 环境变量;优先在原生 Terminal.app 或 iTerm2 中测试
AppleScript 右键菜单不出现或点击无响应
在“自动操作”里建好 workflow 后,右键没看到「服务」→「用 VSCode 打开」,或点了没反应,大概率是权限或路径问题。
检查顺序如下:
- 确认 workflow 保存在
~/Library/Services/下,且文件名以.workflow结尾(如用 VSCode 打开.workflow) - 打开「系统设置 → 隐私与安全性 → 完整磁盘访问」,把「自动操作」和「终端」都勾上(macOS 13+ 强制要求)
- AppleScript 中不要硬编码 VSCode 路径;官方
code命令已注册到 PATH,直接调用即可,无需tell application "Visual Studio Code" - 如果脚本里用了
tell application "Terminal",注意 macOS Sequoia(15.x)已限制 Terminal 的 AppleScript 控制能力,建议改用do shell script "code ..."直接执行
ARM 芯片(M1/M2/M3)下 code 命令启动慢或卡住
M 系列 Mac 上偶尔出现 code . 输入后几秒才启动,甚至终端卡住不动,不是 VSCode 本身问题,而是 Rosetta 兼容层或 Gatekeeper 验证延迟导致。
可立即见效的操作:
- 确认 VSCode 是原生 ARM 版(App Store 或官网下载的最新版),不是 Intel 版通过 Rosetta 运行 —— 查看「访达 → 右键 VSCode.app → 显示简介」,「通用」栏应显示「适用于:Apple 芯片」
- 首次运行
code后,系统可能在后台静默公证(notarization),等 1–2 分钟再试,别反复 Ctrl+C - 如果仍卡,临时关闭 Gatekeeper 验证(不推荐长期):
sudo spctl --master-disable,之后再运行一次code -v触发验证完成,再恢复:sudo spctl --master-enable
真正容易被忽略的一点:VSCode 的 code 命令是 shell 脚本,不是二进制。它每次启动都要 fork 子进程、加载 Node.js 运行时、解析参数——所以别指望它像 ls 那样毫秒级响应。接受 300–800ms 的冷启动延迟,是 macOS + Electron 应用的现实。


















