vscode卡顿或插件失效时,应先清cache目录再重启;若插件报failed to fetch,需删除extensions下带-cache后缀的临时文件夹;怀疑配置问题可用--user-data-dir隔离验证;重置默认状态须重命名整个user目录而非仅清settings.json。

VSCode卡顿或插件失效时,先清Cache目录再重启
VSCode启动变慢、扩展图标灰显、自动补全失灵,大概率是Cache目录积压了损坏的二进制缓存或渲染快照。这不是设置问题,也不是插件本身坏了,而是本地缓存状态错乱。
操作前务必确认 VSCode 已完全退出——包括右下角托盘里的Code.exe(Windows)或Code Helper(macOS/Linux)。残留进程会锁住文件,导致删不干净。
- Windows:删除
%APPDATA%\Code\Cache和%LOCALAPPDATA%\Programs\Microsoft VS Code\Cache - macOS:删除
~/Library/Caches/com.microsoft.VSCode - Linux:删除
~/.cache/Code
删完直接重启 VSCode,它会自动重建这些目录。别碰User或Extensions主目录——那里面存着你的配置和已安装插件,删了等于重装一遍还要手动恢复。
插件反复报Failed to fetch extension?删*-cache子目录
某些插件(比如ms-python.python)更新失败后,会在~/.vscode/extensions/下留下带-cache后缀的临时文件夹,例如ms-python.python-2024.8.0-cache。这些不是正式插件目录,而是解压中途崩溃残留的半成品,VSCode 启动时会尝试加载它们,结果就是报错或插件不激活。
只删这类带-cache后缀的子目录,不要删整个extensions文件夹。Windows 路径是%USERPROFILE%\.vscode\extensions\,macOS/Linux 是~/.vscode/extensions/。
重启后 VSCode 会重新下载并解压插件,比“禁用再启用”或“重装插件”更彻底——因为后者往往复用旧缓存,问题照旧。
想验证是不是配置或缓存导致的问题?用--user-data-dir启动
怀疑settings.json写错、keybindings冲突、或者某个插件缓存污染了全局状态?别急着删文件,先用隔离模式验证:
- Linux/macOS:
code --user-data-dir /tmp/vscode-test --disable-extensions - Windows:
code --user-data-dir "%TEMP%\vscode-test" --disable-extensions
这个命令会跳过你所有现有用户数据,新建一个空白User目录,并禁用全部扩展。如果此时 VSCode 运行正常,说明问题出在你的配置或某扩展缓存上;如果不正常,那就是安装本体或系统级缓存(如Cache)出了问题。
注意:/tmp/vscode-test或%TEMP%\vscode-test路径必须存在,且不能是已有 VSCode 用户目录——否则会复用旧数据,失去隔离意义。
重置到默认状态 ≠ 删settings.json,要清整个User目录
很多人以为把settings.json清空成{}就等于“恢复默认”,其实不是。VSCode 的用户状态还分散在keybindings.json、snippets/、globalStorage/甚至某些插件私有的子目录里。只动settings.json,快捷键错乱、代码片段丢失、Git History 记录还在,问题根本没解决。
真正有效的做法是重命名整个User目录:
- Windows:
%APPDATA%\Code\User→ 改名为User_backup - macOS:
~/Library/Application Support/Code/User→ 改名为User_backup - Linux:
~/.config/Code/User→ 改名为User_backup
重启 VSCode,它会自动生成全新User目录和空settings.json。如果新环境没问题,再从User_backup里挑需要的文件(比如snippets/)手动迁回——别一股脑复制,容易带入旧坑。
最易被忽略的是globalStorage/:这里存着 Prettier 缓存、ESLint 语言服务器状态、GitLens 的本地索引等,不清掉,有些插件行为还是“记得”你以前的操作。











