VSCode“缓存问题”实为User目录下配置文件(settings.json等)损坏或冲突所致,需重命名%APPDATA%\Code\User(Windows)等路径下的User目录并关闭Settings Sync,而非清理Cache目录。

VSCode 本地缓存没有“恢复默认”的开关,所谓“缓存问题”实际是用户配置文件(settings.json、keybindings.json、locale.json、storage.json 等)损坏或冲突导致的异常表现。 直接删缓存目录或清空 Cache 文件夹几乎没用,真正起效的操作集中在 User 目录的清理与重命名上。
为什么清空 Cache 目录无效
VSCode 的 Cache 目录(路径如 %APPDATA%\Code\Cache 或 ~/Library/Caches/Code)只存临时资源(比如扩展图标、字体映射、部分网络请求响应),不参与设置加载逻辑。它被自动重建,且不包含任何你改过的配置项。即使手动删掉,重启后编辑器行为也不会变——因为问题根本不在这里。
- 常见误判现象:
Ctrl+,打不开设置页、主题颜色错乱、快捷键突然失效、界面语言回退成中文 - 真实原因:不是缓存脏了,而是
settings.json里有非法 JSON,或locale.json被写错,或keybindings.json多了个逗号导致整个文件被静默忽略 - VSCode 启动时对这些配置文件不做格式校验,出错就跳过——你看到的“默认状态”,其实是它被迫 fallback 到内置值,而非主动恢复
真正要操作的是 User 目录下的配置文件
所有你手动改过的设置、快捷键、界面语言、代码片段、甚至某些插件的本地状态,都落在 User 目录下。这才是“本地缓存类问题”的根目录。
- Windows 路径:
%APPDATA%\Code\User\ - macOS 路径:
~/Library/Application Support/Code/User/ - Linux 路径:
~/.config/Code/User/ - 必须先完全退出 VSCode(Mac 查 Activity Monitor,Windows 查任务管理器,确认无
Code Helper进程残留) - 不要直接删除整个
User目录,而是重命名为User_backup——万一某段自定义 snippet 或 keybinding 真有用,还能翻出来抄
重命名 User 后 VSCode 会做什么
VSCode 启动时检测不到 User 目录,会立刻重建一套全新结构:空的 settings.json、空的 keybindings.json、干净的 snippets/ 和 globalStorage/。这才是你想要的“默认状态”。
- 已安装的扩展不会丢失(它们在
extensions/目录,和User是平级的) - 但所有扩展的用户级配置会清空(比如 GitLens 的上次仓库路径、Prettier 的本地规则)
- 工作区设置(
.vscode/settings.json)不受影响,仍会加载——如果你的问题出在工作区配置,得单独处理 - 务必提前关闭
Settings Sync:运行Preferences: Turn Off Settings Sync并勾选Turn Off and Reset Local State,否则一重启就从云端拉回旧配置
最容易被忽略的三个覆盖点
很多人重命名 User 后发现还是中文界面、还是某几个快捷键不对,不是操作失败,而是更高优先级的配置把它盖掉了。
-
settings.json里写了"locale": "zh-CN"(注意大小写),它会覆盖locale.json;删掉这行再试 - 工作区目录下有
.vscode/settings.json,里面也写了 locale 或 keybindings,优先级高于用户级 - 启动命令带了
--locale=zh-cn参数(比如桌面快捷方式目标、shell alias、脚本),这个参数优先级最高,删掉才管用
真正的“恢复默认”不是擦除历史,而是切断所有覆盖源。只要 User 目录干净 + Settings Sync 关闭 + 工作区和启动参数无干扰,VSCode 就会老老实实走内置逻辑——那才是它出厂时的样子。


















