VS Code 自身缓存路径用 --cache-dir 改最稳,该参数可统一重定向主进程缓存且官方支持无副作用,但需手动创建路径、英文双引号包裹含空格或中文的路径,并确保快捷方式末尾仅一个空格。

VS Code 自身缓存路径用 --cache-dir 改最稳
VS Code 主进程产生的缓存(如工作区索引、GPU 缓存、临时日志)能通过启动参数统一重定向,这是唯一官方支持且无副作用的方式。--cache-dir 不影响插件行为,只管 VS Code 自己写的文件。
- 路径必须手动创建,VS Code 不会自动建父目录;含空格或中文时,
--cache-dir后的值**必须用英文双引号包裹** - 快捷方式「目标」栏末尾加参数时,前面**只能有一个空格**,例如:
"C:\Program Files\Code\Code.exe" --cache-dir "D:\VSCode\Cache" - 这个参数单独使用即可释放 C 盘空间,无需动
--user-data-dir或--extensions-dir - 验证是否生效:启动后检查新路径下是否生成
Cache.Data、GPUCache等子目录;原%LOCALAPPDATA%\Temp或%APPDATA%\Code\Cache不再增长
ms-vscode.cpptools 的 IntelliSense 缓存得单独配
C/C++ 插件的 ipch 和 .vc.db 文件不走 --cache-dir,默认硬编码写进 %LOCALAPPDATA%\Microsoft\vscode-cpptools。改法有两个:
- 在 VS Code 设置里搜
C_Cpp: Intelli Sense Cache Path,填绝对路径,比如D:\VSCode\cpptools-cache - 再搜
C_Cpp: databaseFilename,改成同盘符下带.vc.db后缀的完整路径,例如D:\VSCode\cpptools-cache\project.vc.db - 注意:两个路径必须在同一个盘符下,否则插件会静默 fallback 到默认位置
- 改完要重启 VS Code,且已有缓存不会自动迁移,需手动复制或清空重生成
插件安装目录(.vscode\extensions)不能靠设置改
VS Code 没有图形界面选项让你改插件安装路径,所有“在设置里填 extensions 路径”的说法都无效。真正可行的是这三种方式之一:
- 启动时加
--extensions-dir "D:\vscode-ext"(推荐),但必须确保快捷方式、终端code命令、右键菜单注册表全部同步更新参数 - 设系统环境变量
VSCODE_EXTENSIONS,值为绝对路径,比如D:\vscode-ext;设完要彻底杀掉所有Code.exe进程再重启 - 用 ZIP 便携版,在解压根目录建
data\extensions,VS Code 会自动识别——但升级时得手动复制data目录,不能放安装目录里 - 常见失败原因:路径含中文/空格却没加双引号;旧进程没杀干净;多个启动入口(如开始菜单、任务栏图标)没统一改参数
软链接(mklink /D)适合已有大量插件的情况
如果你已经装了几十个插件,不想重装或改配置,软链接是最省事的迁移方式,但必须以管理员身份运行 CMD:
- 先彻底关闭 VS Code(包括后台隐藏的
Code Helper进程) - 剪切
C:\Users\用户名\.vscode\extensions到目标位置,比如D:\vscode-ext - 执行:
mklink /D "C:\Users\用户名\.vscode\extensions" "D:\vscode-ext" - 注意:源路径末尾不能有反斜杠,目标路径必须存在,且不能是空文件夹
- 成功后
.vscode\extensions图标带小箭头,所有插件更新、安装都会落到 D 盘
真正的难点不在“怎么改”,而在于改完之后 VS Code 是否真在用新路径——很多问题其实是因为快捷方式没更新、后台进程残留、或者路径权限/空格/中文导致参数被截断。每次改完,建议直接在终端跑一句 code --user-data-dir "D:\test" --cache-dir "D:\test-cache" 验证,比依赖图标启动更可靠。











