如何在 Windows 上卸载 VS Code
移除 VS Code 和重置它的数据是两个决定。设置、快捷键和代码片段在一个文件夹里,扩展在另一个文件夹里,卸载应用时两者都不会消失。以后可能重装的话,先备份。这份指南覆盖用 Microsoft.VisualStudioCode winget 包按用户安装的 VS Code,项目文件夹及项目自己的 .vscode 配置都不动。
先退出 VS Code
在 VS Code 中保存文件,结束集成终端里的任务,关闭所有窗口。VS Code 是多进程应用,每个窗口加上扩展和 GPU 辅助进程各占一个,卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 Code.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Visual Studio Code,选择卸载,或者运行:
winget uninstall --id Microsoft.VisualStudioCode
删数据前先备份
用户设置在 %APPDATA%\Code\User\settings.json,备份整个 %APPDATA%\Code\User 文件夹可以一并保留快捷键、代码片段和配置文件。扩展在 %USERPROFILE%\.vscode\extensions。项目文件夹和项目自己的 .vscode 配置继续保留,这份指南不会动它们。
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%APPDATA%\Code\User |
设置、快捷键、代码片段、配置文件 | 先备份,卸载器不会删它 |
%APPDATA%\Code\Cache 和 CachedData |
编辑器缓存 | 退出后可以移除 |
%USERPROFILE%\.vscode |
扩展 | 想按原样重装扩展,先备份 extensions |
%USERPROFILE%\.vscode-shared |
共享的用户数据 | 和 .vscode 一起移除 |
检查结果
卸载完成后运行下面几条只读命令:
Get-Process Code -ErrorAction SilentlyContinue
winget list --id Microsoft.VisualStudioCode
Test-Path "$env:LOCALAPPDATA\Programs\Microsoft VS Code"
Test-Path "$env:APPDATA\Code"
Test-Path "$env:USERPROFILE\.vscode"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。列出进程,说明还有窗口或辅助进程开着。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。 Test-Path "$env:APPDATA\Code"返回True,说明设置和缓存都还在,只要你没有自己删掉,这就是正常的。Test-Path "$env:USERPROFILE\.vscode"返回True,说明扩展文件夹还在,备份好之后想完全清空可以自己删掉。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个卸载器,删的是同一批程序文件,它不会主动动 %APPDATA%\Code、.vscode 或 .vscode-shared。
账号与同步
卸载不会让你从 Settings Sync 或连接的 GitHub、Microsoft 账号退出登录。用了 Settings Sync 的话,设置还留在云端,不管上面这些本地文件夹删没删,下次在任意一台机器登录都会重新应用。
Mole 会列出什么
对按用户安装的 winget 版 VS Code:
- 程序目录和开始菜单快捷方式默认勾选。
%APPDATA%\Code\Cache和CachedData默认勾选。%USERPROFILE%\.vscode和%USERPROFILE%\.vscode-shared会列出,但默认不勾选。- 存放设置的
%APPDATA%\Code\User不会列出。 - 如果还有
vscode://链接登记指向已经删掉的程序,Mole 也会列出,删除前先备份成.reg文件;这次测试里卸载器已经把它删掉了。
磁盘上的项目不在这张表里。
这次检查覆盖了什么
测试于 2026 年 9 月 25 日,VS Code 版本 1.139.0,通过 winget 按用户范围安装。这次是在提权环境里安装的,所以卸载器要了管理员权限,普通的按用户安装不会要。没有测试:Settings Sync,以及卸载一个已登录状态的安装。
