code命令需先注册到PATH才能使用;可靠方式是code /path/to/project(macOS/Linux)或code C:/path/to/project(Windows),路径含空格无需引号,-n强制新窗口,-r复用当前窗口,.code-workspace文件需显式指定。

用命令行启动 VSCode 并打开指定文件夹
VSCode 的 code 命令行工具默认支持直接打开项目目录,但前提是它已加入系统 PATH。Windows 下安装时勾选“Add to PATH”、macOS 通过 Shell Command 安装、Linux 手动软链后才能使用。
最常用且可靠的方式是:
- 终端中执行
code /path/to/your/project(macOS/Linux)或code C:\path\to\your\project(Windows) - 路径含空格无需额外引号,
code会自动处理 - 若项目已打开,该命令默认在已有窗口的新标签页中打开;加
-n参数可强制新建窗口:code -n ./my-app - 加
-r可复用当前窗口(即使已打开其他文件夹),等价于“替换当前工作区”
打开特定工作区文件(.code-workspace)而非文件夹
当项目使用多根工作区时,直接传入 .code-workspace 文件路径比传入文件夹更准确——它能还原预设的文件夹结构、设置和扩展推荐。
例如:
-
code my-project.code-workspace—— 正确加载工作区定义 -
code ./my-project—— 即使该目录下有.code-workspace,也不会自动识别,只会以单文件夹模式打开 - 如果工作区文件不在当前目录,务必写全路径,否则
code会报错:Unable to read file 'xxx.code-workspace' (Error: File not found)
常见启动参数组合与误用场景
几个高频参数不是互斥的,但顺序和搭配会影响行为。比如调试时想静默启动 + 指定端口 + 禁用所有插件,容易漏掉关键约束。
-
-w:等待窗口关闭再退出终端(适合脚本中做阻塞式调用);不加则立即返回,终端可继续输入 -
--disable-extensions:彻底禁用用户安装的插件(对排查插件冲突极有用),但内置功能不受影响 -
--user-data-dir:指定独立用户数据目录,可实现“干净启动”,例如code --user-data-dir=/tmp/vscode-test ./src;注意路径必须存在且可写,否则报错Failed to create user data directory - 多个参数混用时,路径必须放在最后,如
code --disable-extensions -n ./backend是合法的,而code ./backend --disable-extensions在某些旧版本中可能被忽略
Windows 上双击快捷方式传参失败怎么办
直接修改桌面快捷方式的“目标”字段常因空格或引号问题失效,典型错误是把路径包在引号里却没把整个命令包住。
正确写法(以管理员权限运行为例):
code.exe -n "C:\My Projects\vue-app"
而不是:
"C:\Users\Me\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n "C:\My Projects\vue-app"
后者会因路径含空格导致 code.exe 未被识别为命令。更稳妥的做法是:只在快捷方式“目标”中写 code -n "C:\My Projects\vue-app",并确保 code 已全局可用;若不行,就用绝对路径调用 code.cmd(Windows 下实际是批处理封装)。
真正容易被忽略的是:VSCode 启动时会读取当前用户的 settings.json,如果里面配置了 "window.openFilesInNewWindow": "on",那即使你用了 -r,打开文件仍可能弹新窗口——这种行为优先级高于命令行参数,得手动改设置。


















