terminal.integrated.cwd是唯一控制新建终端起始路径的配置项,仅对新建终端生效,推荐设为"${workspaceFolder}",工作区级配置优先于用户级,Windows路径需用双反斜杠或正斜杠。

VSCode 插件本身没有“默认工作路径”这个概念——你真正想改的,是终端启动时的初始目录,或者插件安装存放的位置。这两件事完全无关,但常被混为一谈。下面分清楚、说清楚。
terminal.integrated.cwd 控制终端起始位置
这是最常被问错的问题:以为改了插件路径就能让终端自动 cd 进项目。其实不是。终端默认总在 %USERPROFILE%(Windows)或 $HOME(macOS/Linux)启动,除非你显式配置 terminal.integrated.cwd。
- 该设置只对新建终端生效,已打开的终端不会变
- 优先级:工作区级
.vscode/settings.json> 用户级settings.json - 推荐写法:
"terminal.integrated.cwd": "${workspaceFolder}"(多文件夹工作区会取第一个) - Windows 路径必须用双反斜杠
"C:\project\app"或正斜杠"C:/project/app",否则 JSON 解析失败或 shell 报错 - 如果值为空或未设,终端回落到 VS Code 启动时所在目录(通常是用户主目录)
--extensions-dir 决定插件存哪
插件安装路径不能靠设置项改,必须通过启动参数或环境变量重定向。官方唯一稳态方式是 --extensions-dir 参数。
- 必须彻底关闭所有 VS Code 进程(任务管理器里确认无
Code.exe和Code Helper.exe) - 把原
%USERPROFILE%.vscodeextensions全部复制(不是剪切)到新路径,例如D:VSCodeExtensions - 命令行运行:
code --extensions-dir "D:VSCodeExtensions",验证扩展面板是否完整列出 - 桌面快捷方式「目标」栏末尾加空格 +
--extensions-dir "D:VSCodeExtensions",双引号不能少,路径含空格必须包住 -
VSCODE_EXTENSIONS环境变量只影响新装插件,旧插件仍从原路径加载,两套路径共存易冲突
软链接(mklink)看似省事,实则埋雷
Windows 上用 mklink /J 或 mklink /D 指向新插件目录,短期能用,但长期风险高。
- 含本地二进制模块的插件(如
ms-vscode.cpptools)可能静默失效,重装后也不认 - 部分杀毒软件会拦截符号链接,导致插件加载失败
- 源目录一旦被误删,软链接断开,VS Code 自动新建空
extensions文件夹,所有插件“消失” - 多用户场景下无法隔离,所有人共享同一物理路径
真正关键的不是“怎么改一个配置”,而是理解 VS Code 加载插件和初始化终端的两个独立机制。最容易出问题的地方永远是:快捷方式目标没加空格、路径没用双引号包住、后台进程没关干净、或者把 terminal.integrated.cwd 误当成插件路径来配。


















