# VS Code 越用越大，哪些是缓存，哪些要保留

VS Code 用上一两年，C 盘里的用户目录不知不觉就会涨到十几个 GB。顺着路径一翻，除了装过的好几十个插件，还有无穷无尽的语言服务器缓存、历史日志、工作区索引和扩展持久化数据。看到文件夹越来越臃肿，千万别图省事直接把整个 `%APPDATA%\Code` 全删了，否则你精心调配的主题、快捷键、代码片段和登录凭据会全部一夜归零。

## VS Code 的核心文件都分散在哪些角落

在标准 Windows 环境下，VS Code 的文件主要存放在三个地方：
1. **插件存放目录**：`%USERPROFILE%\.vscode\extensions`（所有安装的扩展都在这里）；
2. **全局用户配置**：`%APPDATA%\Code\User`（包含 `settings.json`、快捷键、代码片段）；
3. **缓存与工作区存储**：`%APPDATA%\Code\User\workspaceStorage` 和各类 `Cache` 目录。

| 目录分类 | 里面装的内容 | 清理时的处理建议 |
| --- | --- | --- |
| 已安装扩展插件 | 语法高亮、LSP 语言服务、调试器 | 在 VS Code 插件列表里直接卸载吃灰不用的扩展 |
| 用户设置与代码片段 | 个人习惯、快捷键映射、自定义 snippets | 属于个人核心配置，善用 Settings Sync 自动同步 |
| 工作区与扩展数据 (`workspaceStorage`) | 项目级状态、语言服务器生成的代码符号索引 | 可以安全清理已经删除了的老旧项目索引 |
| 运行缓存与诊断日志 (`Cache` / `logs`) | 下载缓存、V8 代码缓存和排查日志 | 完全可以安全清理，下次启动会自动按需重新生成 |

[VS Code 官方文档](https://code.visualstudio.com/docs/configure/extensions/extension-marketplace)详细介绍了插件的存储机制。项目文件夹里的 `.vscode` 只放当前项目的编译配置，跟系统全局的用户数据完全是两码事。

## 排查编辑器卡顿：先禁用插件做对照，别急着重装

如果最近开某个大项目经常卡死、或者输入代码时光标顿挫，绝大多数时候是某个被玩坏了的第三方插件导致的（例如大型语言服务器、代码补全扩展或 Git 历史分析器）。

不用把所有插件全卸了重装：
在左侧插件栏里，找到怀疑的对象，**右键选择“在当前工作区禁用”**。重新加载窗口试一下，如果操作立刻恢复丝滑，说明真凶就是它；确定不再需要后，再从插件菜单彻底卸载。

在 PowerShell 里也可以用这两条只读命令查看当前运行状态：

```powershell
code --list-extensions --show-versions
code --status
```

`code --status` 会清清楚楚打出各个进程的 CPU 和内存占用，哪个语言服务在吃资源一目了然。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-vscode-storage-windows-zh-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-vscode-storage-windows-zh.webp" width="1360" height="454" loading="lazy" alt="VS Code 目录的内容与归属不同">
  </picture>
  <figcaption>排查编辑器卡顿建议先在工作区临时禁用插件，确认影响后再彻底移除。</figcaption>
</figure>

## workspaceStorage 为什么会越来越大

在 `%APPDATA%\Code\User\workspaceStorage` 里，每个曾经打开过的工程都会生成一个由哈希命名的子文件夹，里面堆着该项目专属的代码树缓存。久而久之，那些半年前就删掉了的练习项目，其索引依然赖在硬盘里。

清理时可以挑出那些很久没碰过的项目哈希目录安全移除，下次如果真要重新打开该项目，VS Code 会重新花几秒钟建立索引。

## 善用 Settings Sync，换机不发愁

微软官方内置的 [Settings Sync 设置同步](https://code.visualstudio.com/docs/configure/settings-sync)非常稳定。登录 GitHub 或微软账号，勾选同步设置、快捷键、插件列表和界面配置。

需要注意的是，同步功能并不会备份插件私自保存在本地的大型离线数据库或模型。重要工程的代码依然务必走 Git 远程托管。

Mole Windows 会精准识别 VS Code 的 Cache、CachedData 以及安装包下载缓存，并在程序运行期间给予安全保护，清理时绝不触碰你的核心配置。关于开发环境的包管理器缓存，可以看[开发工具缓存指南](/zh/windows/blog/windows-developer-caches)。


Canonical: https://mole.fit/zh/windows/blog/vscode-storage-windows
