vscode卸载后配置残留因未清理用户数据目录;windows需删%userprofile%\appdata\roaming\code、local\code、快捷方式及programs路径;macos需清~/library/application support/code等四路径;linux snap安装需先sudo snap remove code再删对应snap及~/.config/code等;项目级配置和同步功能亦会导致旧设置复现。

VSCode 卸载后配置还在?Windows 用户删这 4 个地方
VSCode 卸载程序只删主程序,用户数据、扩展、缓存全留着。重装后旧设置、插件、甚至错误配置照常复现,本质是没动 %USERPROFILE%\AppData\Roaming\Code 和 %USERPROFILE%\AppData\Local\Programs\Microsoft VS Code 这两处。
手动清理按顺序做:
- 先正常卸载:控制面板 → 卸载程序 → 找到
Microsoft Visual Studio Code卸载 - 删用户数据目录:
%USERPROFILE%\AppData\Roaming\Code(含settings.json、keybindings.json、扩展安装目录Extensions) - 删本地缓存与日志:
%USERPROFILE%\AppData\Local\Code(注意不是Local\Programs\...,那个是安装包路径) - 删快捷方式残留:检查桌面、开始菜单、任务栏右键“更多”→“打开文件所在位置”,删掉所有
Code.exe快捷方式
macOS 上 VSCode 配置藏得更深,别只删 Applications
macOS 的 VSCode 卸载比 Windows 更隐蔽——拖进废纸篓只是删了 /Applications/Visual Studio Code.app,但所有用户级配置都在 ~/Library/Application Support/Code,扩展在 ~/Library/Application Support/Code/Extensions,缓存和日志在 ~/Library/Caches/com.microsoft.VSCode 和 ~/Library/Logs/Code。
终端一行清空(执行前请确认备份需要的 settings.json):
rm -rf ~/Library/Application\ Support/Code \
~/Library/Caches/com.microsoft.VSCode \
~/Library/Logs/Code \
~/.vscode
~/.vscode 是用户工作区推荐设置存放点,常被忽略;~/Library/Application Support/Code 下的 User 文件夹才是核心配置根目录。
Linux 用户注意:snap 安装的 VSCode 不能用 apt remove 彻底清理
Ubuntu/Debian 默认用 snap 安装 VSCode,sudo snap remove code 会自动清理大部分,但用户配置仍留在 ~/snap/code/common/.config/Code 和 ~/snap/code/common/.cache/Code。如果之前还用过 deb 包或 tarball 安装,可能额外存在 ~/.config/Code 和 ~/.vscode。
统一清理建议:
- 先确认安装方式:
snap list | grep code或which code - 如果是 snap:
sudo snap remove code后再删~/snap/code - 不管哪种安装方式,都手动删:
~/.config/Code、~/.vscode、~/.cache/Code - 检查
~/.local/share/applications是否有残留的 desktop 文件(如code.desktop)
删完重启 VSCode 还读旧配置?检查 workspace 级 settings
即使全局配置全清,打开某个文件夹时 VSCode 仍可能加载该文件夹下的 .vscode/settings.json 或 .vscode/extensions.json。这不是残留,是项目级配置,必须进具体项目目录手动删 .vscode/ 文件夹。
另外,某些扩展(比如 Settings Sync)会自动恢复配置。如果登录过 GitHub 账号并启用同步,重装后首次启动会联网拉取旧设置——关掉同步开关或登出再启动,否则以为“删不干净”。
真正干净的验证方式:启动 VSCode,打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),输入 Developer: Toggle Developer Tools,在 Console 里执行 JSON.stringify(require('vscode').env.appRoot),确认路径不指向任何残留的旧用户目录。











