VSCode本地缓存最占空间的三处是插件目录、用户数据目录和C/C++ IntelliSense缓存目录,均默认在C盘且无法通过设置界面修改;必须用Developer: Show Extensions Folder确认真实路径,再通过--extensions-dir和--user-data-dir命令行参数启动,或配置C_Cpp: IntelliSense Cache Path。

VSCode 本地缓存不只一处,最占空间的三个位置分别是插件目录、用户数据目录和 C/C++ IntelliSense 缓存目录——它们默认全挤在 C 盘,且无法通过设置界面直接修改。
查不到 .vscode\extensions?先确认真实路径再动手
很多人改路径失败,是因为压根没找对当前生效的插件目录。VSCode 不会读取你“以为”的路径,而是按启动时参数或环境变量决定实际位置。
- 最稳的办法:在 VSCode 中按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并执行Developer: Show Extensions Folder,它会直接打开文件管理器里的真实路径 - 别信网上抄来的“C:\Users\XXX\.vscode\extensions”——如果你用过便携模式、自定义启动参数或企业策略,这个路径可能早就失效了
- 命令行验证:终端里运行
code --list-extensions --show-versions,如果报错或返回空,说明当前没走默认路径,得检查启动方式
--extensions-dir 和 --user-data-dir 是唯一可靠配置方式
VSCode 的设置 UI 里根本找不到“插件存储路径”或“用户数据路径”的开关。图形界面所有相关选项(比如搜索 extensions)都是假的,改了也不生效。
- 必须通过命令行参数启动:例如
code --extensions-dir "D:\VSCode\extensions" --user-data-dir "D:\VSCode\data" - 这两个参数必须紧挨着
code命令,中间不能有换行或多余空格,否则被忽略 - Windows 快捷方式要重做:右键 → 属性 → “目标”栏末尾追加完整参数,注意用英文双引号包裹含空格的路径
- Git 或 IDE 内嵌终端调用
code时,默认仍走系统默认路径,需额外配置其 shell 启动参数(如 Git Bash 的~/.bashrc中 aliascode='code --extensions-dir ...')
C_Cpp: Intelli Sense Cache Path 可配但仅限 C/C++ 插件
这个路径只影响 C/C++ 扩展生成的 .ipch 文件(预编译头缓存),对其他语言、插件、用户设置完全无效。
- 在 VSCode 设置中搜索
C_Cpp: Intelli Sense Cache Path,填入绝对路径即可,例如D:\VSCode\ipch - 填错路径(如权限不足、盘符不存在)会导致 IntelliSense 功能降级,但不会报错提示,现象是代码补全变慢或缺失
- 该路径下每个工程生成独立子目录,名字含哈希值(如
1a13c16d527c50a2),不要手动删子目录,应通过插件命令C/C++: Reset IntelliSense Database清理 - 注意拼写:
Intelli Sense中间有空格,不是IntelliSense;大小写敏感,输错就当没设
符号链接(mklink /D)能用但有隐藏风险
在 Windows 上用符号链接把 .vscode\extensions 指向 D 盘,看起来一劳永逸,实际容易出问题。
- 必须以管理员身份运行 CMD,否则
mklink /D失败且无明确提示 - VSCode 正在运行时操作,会导致插件加载失败甚至崩溃;务必先任务管理器结束所有
Code.exe进程 - 某些杀毒软件或企业组策略会拦截符号链接,表现为插件列表为空但
Developer: Show Extensions Folder仍能打开——此时得换参数启动法 - 移动后原路径残留文件(尤其
extensions\.obsolete)可能干扰新链接,建议清空原.vscode目录再建链
真正关键的不是“路径在哪”,而是“VSCode 启动时到底读了哪个路径”。同一个安装包,用不同方式启动,extensions 和 user-data-dir 可能指向三个不同位置。不验证启动上下文就改配置,90% 的“迁移失败”都出在这一步。


















