VSCode终端启动目录优先级为:已打开工作区根路径 > 命令行指定路径 > 用户主目录;可通过code .或code -n /path强制指定,Windows快捷方式需在目标栏末尾添加带引号的路径。

启动时指定工作目录(最常用场景)
VSCode 启动时默认打开上次关闭的文件夹或空窗口,但命令行可以强制它从指定路径开始。关键不是“启动位置”这个模糊说法,而是控制 working directory —— 即 VSCode 初始化时认为的当前项目根目录。
- 直接在目标文件夹下运行
code .:这是最可靠的方式,.表示当前目录,VSCode 会以该路径为工作区打开 - 若不在目标目录,用绝对路径:比如
code /Users/you/project(macOS/Linux)或code C:\dev\myapp(Windows) - 不要用
cd /path && code这种组合:code命令本身不继承 shell 的 cwd(尤其在后台启动或 GUI 模式下),必须显式传参
Windows 下双击快捷方式也能指定路径?
可以,但需手动编辑快捷方式属性。右键快捷方式 → “属性” → 在 “目标” 栏末尾追加一个空格再加路径,例如:
code.exe "C:\projects\backend"
注意两点:
- 路径含空格必须用英文双引号包裹,否则只识别到第一个空格前
- 不要写成
code.exe --goto或--folder:这些参数不存在或已废弃,VSCode 仅接受路径作为位置参数
Mac 上从终端启动却打开了旧窗口?
这是 macOS 的默认行为:AppKit 应用(包括 VSCode)会复用已有实例。你执行 code /new/path,它可能只是把焦点切到旧窗口,而不是新开一个带新路径的窗口。
解决办法:
- 加上
-n参数强制新建独立窗口:code -n /new/path - 如果想让新命令替换当前窗口内容(而非新建),用
-r(reuse)参数:code -r /new/path -
-n和-r互斥,别同时用;漏掉它们就容易误以为“没生效”
为什么 code 命令在终端里报 “command not found”?
这不是路径问题,是 VSCode 没把 CLI 工具注册进系统 PATH。必须手动启用:
- 打开 VSCode →
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux) - 输入并选择
Shell Command: Install 'code' command in PATH - 重启终端才能生效
常见误区:
- 以为重装 VSCode 就自动注册:不会,每次全新安装后都得手动触发一次
- 在 zsh 中启用后 bash 仍不可用:PATH 是 shell 级别的,换 shell 得重新运行命令或检查 shell 配置文件是否加载了对应脚本
路径和工作区逻辑其实很简单,但跨平台行为差异、GUI 复用机制、CLI 注册状态这三点最容易卡住人。


















