彻底重装 VSCode 需手动清除用户配置、扩展、缓存及系统注册表/LaunchServices残留,否则会导致主题失效、设置还原失败、Git路径错乱、Ctrl+P卡死等问题。

VSCode 重装不是删掉桌面图标再下个安装包就完事的——残留配置、扩展、缓存会直接导致新装版本行为异常,比如主题不生效、设置还原失败、Git 路径错乱,甚至 Ctrl+P 模糊搜索卡死。
彻底删除 VSCode 用户数据与缓存
Windows 和 macOS 的用户级配置路径不同,但都必须手动清理,否则重装等于白装。系统级安装文件(如 Code.exe 或 Visual Studio Code.app)可直接删,真正影响体验的是以下三类路径:
-
用户设置与工作区配置:保存在
%APPDATA%\Code\(Windows)或~/Library/Application Support/Code/(macOS) -
扩展目录:位于
%USERPROFILE%\.vscode\extensions\(Windows)或~/.vscode/extensions/(macOS),即使你没手动装过扩展,VSCode 自带的 TypeScript、JSON 支持等也在这里 -
缓存与日志:
%LOCALAPPDATA%\Programs\Microsoft VS Code\Cache\(Windows)或~/Library/Caches/com.microsoft.VSCode.Shipit/(macOS)——这个目录不清理,某些插件更新状态会继承旧版本逻辑,引发兼容报错
建议用命令行一次性清空(以 Windows 为例):
rd /s /q "%APPDATA%\Code" rd /s /q "%USERPROFILE%\.vscode\extensions" rd /s /q "%LOCALAPPDATA%\Programs\Microsoft VS Code\Cache"
macOS 用户请对应替换为 rm -rf 命令,并确认路径拼写(注意大小写和空格)。
卸载时别忽略系统级残留注册表或 LaunchServices
Windows 上通过「控制面板」卸载后,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall 下仍可能残留 VSCode 相关键值;macOS 则可能因旧版通过 brew cask install visualstudio-code 安装,导致 lsregister 缓存未刷新,表现为右键菜单里还显示「Open with Code」但点击无响应。
- Windows:打开
regedit,搜索VisualStudioCode,删掉所有匹配项(仅限HKEY_CURRENT_USER,勿碰HKEY_LOCAL_MACHINE) - macOS:运行
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user强制重建应用注册表
这一步跳过的话,重装后快捷键绑定、文件关联、自动更新提示都可能出问题。
重装后立刻禁用自动扩展同步
如果你曾开启过 Settings Sync(登录 GitHub 或 Microsoft 账号),重装首次启动时 VSCode 会默认拉取云端配置——但旧同步数据可能含已废弃扩展、损坏的 keybindings.json 或冲突的 editor.fontFamily 值,导致界面卡顿或编辑器崩溃。
- 启动时看到同步弹窗,立刻点
Disable(不是Skip) - 进设置搜
sync,把Settings Sync: Enabled设为false - 确认
settings.json中没有"sync.autoUpload": true或"sync.autoDownload": true
等本地环境稳定后再手动选择性恢复关键设置,比全量同步更可控。
验证重装是否干净的关键检查点
装完别急着装插件,先做四件事:
- 打开命令面板(
Ctrl+Shift+P),执行Developer: Toggle Developer Tools,看 Console 有没有红色报错(尤其Failed to load extension类) - 运行
code --status(终端中),确认输出里Extensions列为空,且userEnv路径指向全新目录 - 新建一个空文件夹,用
code .打开,检查左侧资源管理器是否干净、无残留项目历史 - 改一个设置(比如
editor.fontSize),重启 VSCode 后确认该值仍生效——这是检验settings.json写入权限和路径是否正确的最快方式
任何一项异常,说明某处残留没清干净,得回头查扩展目录或注册表。










