先解决“找不到命令”问题:code命令未注册到PATH,需在VS Code中执行Shell Command: Install 'code' command in PATH;再处理--wait阻塞失效、--locale=zh-cn中文界面不完全生效等问题。

code命令本身没注册?先解决“找不到命令”问题
输code --version报command not found,不是你漏装 VS Code,是code命令根本没进系统 PATH。官方安装包默认不自动注册,必须手动触发。
打开 VS Code 图形界面 → 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)→ 输入并执行 Shell Command: Install 'code' command in PATH → 关闭终端重开。
- 该操作只对当前用户生效,且依赖 VS Code 自带的 shell wrapper(如 macOS 的
/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code) - .zip 解压版、Snap/Flatpak 安装方式通常不支持此命令,得换安装源
- Windows 用户若初装时没勾选 “Add to PATH”,需手动把
C:\Users\{user}\AppData\Local\Programs\Microsoft VS Code\bin加进系统环境变量
路径含空格或中文?必须加双引号包裹
code 不做路径展开,也不自动补全波浪线(~)。你敲 code ~/my project,它真去字面路径找,而不是你家目录下那个文件夹。
- 最稳做法:先
cd进目标目录,再执行code . - 用绝对路径:Linux/macOS 写
code /home/user/my\ project或code "/home/user/my project";Windows 写code "C:\Users\user\my project" - PowerShell 中
code .\src可行,CMD 推荐用正斜杠:code ./src,避免反斜杠被转义
想让启动阻塞等待编辑器关闭?别只信 --wait
code --wait . 看似能等你关掉窗口再返回终端,但实际只在首次启动 VS Code 实例时有效。如果后台已有进程在跑,命令立刻返回,根本不管你在不在编辑。
- 脚本中需要可靠阻塞,必须确保无残留进程:
killall Code(macOS/Linux)或任务管理器结束所有Code.exe和Code Helper - CI/CD 或自动化场景慎用
--wait,改用code --new-window --no-sandbox --disable-extensions+ 显式超时控制更稳妥 -
--wait对远程开发(SSH/WSL)无效,远程端不继承该行为
强制中文界面?--locale=zh-cn 不是万能钥匙
code --locale=zh-cn 能让主窗口 UI 显示中文,但终端、调试控制台、扩展弹窗(比如 Copilot、GitLens)可能仍是英文——这不是 bug,是 VS Code 语言上下文分层导致的。
- 主进程(UI)、渲染进程(Webview)、子进程(集成终端、debugpy、Java Server)各自读取不同 locale 源:主进程听
--locale,终端听系统LANG或 Windows 区域设置 - Remote-SSH/WSL 场景下,远程端的 VS Code Server 不读本地
--locale,必须在远程机器上配~/.vscode-server/data/Machine/locale.json - 某些插件硬编码英文文案,
--locale对它们完全无效 - 最关键的一步常被跳过:关干净所有 VS Code 进程。残留英文进程会污染新窗口的状态栏提示、设置搜索排序甚至命令面板历史
--locale=zh-cn看起来“失效”。


















