在 macOS 上彻底卸载 VSCode,仅将主程序拖入废纸篓远远不够。真正需要清理的,是隐藏在系统深处的五个核心路径:/Applications/Visual Studio Code.app、~/Library/Application Support/Code、~/Library/Caches/com.microsoft.code.ShipIt、~/Library/Logs/Code 以及 ~/.vscode。如果曾通过 Homebrew 安装,残留也必须一并处理。否则,重装后你会发现 – 设置、扩展甚至崩溃问题,一个都没少。

卸载 VSCode 前先确认是否真要「彻底」删干净
许多人以为把 Visual Studio Code.app 拖进废纸篓就万事大吉。但别忘了,主程序只是一层外壳,真正的配置、缓存、扩展、用户数据全藏在别处。如果只是想重装解决崩溃、插件冲突或设置错乱,不把这些残留清理干净,重装后问题大概率会卷土重来。
一个典型的误操作:直接删除 /Applications/Visual Studio Code.app,然后启动新装的 VSCode – 发现主题、设置、已安装扩展都还在,但某些功能却异常了,比如 Git 集成失效、终端乱码。这多半是旧 settings.json 或损坏的 extensions/ 在作祟。所以,下面这几个路径必须盯住:
- 用户配置:
~/Library/Application Support/Code - 缓存:
~/Library/Caches/com.microsoft.code.ShipIt(ShipIt 是自动更新器用的) - 扩展:
~/.vscode/extensions(注意是~/.vscode,不是~/Library/Application Support/Code/...) - 日志和崩溃报告:
~/Library/Logs/Code
执行彻底卸载:命令行比手动找更可靠
图形界面在查找隐藏目录时很容易掉链子 – 比如 .vscode 在用户根目录下默认不可见,Finder 里翻半天也看不到。推荐直接用终端一次性清空,干净利落。打开 Terminal,逐条运行以下命令:
rm -rf "/Applications/Visual Studio Code.app" rm -rf "$HOME/Library/Application Support/Code" rm -rf "$HOME/Library/Caches/com.microsoft.code.ShipIt" rm -rf "$HOME/Library/Logs/Code" rm -rf "$HOME/.vscode"
这里有个细节:$HOME/.vscode 和 $HOME/Library/Application Support/Code 存储的内容完全不同 – 前者存放全局扩展和部分用户级设置,后者存放工作区历史、调试会话、密钥环等。两者都必须删除,缺一不可。
如果你之前用 Homebrew 安装过(brew install --cask visualstudiocode),别忘了顺手补一句:
brew uninstall --cask visualstudiocode
否则下次执行 brew update && brew upgrade 时,它可能又被拉回来,白忙一场。
重新安装时避开签名验证失败和权限问题
从官网下载的 VSCode-darwin-universal.zip 解压后,双击运行常常弹出「已损坏,无法打开」的提示。这实际上是 macOS Gatekeeper 对未公证(notarized)或刚下载的 app 的拦截,文件本身并没有损坏。
正确的做法不是关掉系统安全性,而是用右键「打开」绕过首次校验;或者用终端强制放开权限:
xattr -d com.apple.quarantine "/Applications/Visual Studio Code.app"
如果安装后启动报 Permission denied,或者无法写入 settings.json,那就需要检查 ~/Library/Application Support/Code 是否还有残留 – 哪怕只是一个空文件夹,它也可能被设为 root 所有者(尤其之前用 sudo 启动过)。运行以下命令修复:
sudo chown -R $(whoami) ~/Library/Application Support/Code
之后再启动,一般就正常了。
重装后立刻验证的关键项
别急着导入旧设置 – 先确保基础功能跑通,再逐步恢复。重点验证以下三项:
- 终端集成:按下
Ctrl+`能否唤起内置终端?如果不能,检查terminal.integrated.defaultProfile.osx是否被设成了无效的 shell 路径(比如旧版 zsh 的路径)。 - Git 支持:打开任意 git 仓库,左下角应该显示分支名;点开源代码管理面板,应该列出变更文件。如果提示
command 'git.status' not found,说明 PATH 没有继承,需要在 VSCode 设置里开启terminal.integrated.inheritEnv。 - 扩展激活:先装一个轻量扩展(比如
esbenp.prettier-vscode),新建一个.js文件,输入console.log(1),然后按Cmd+Shift+P→Format Document,看是否生效。
最后提醒一下:VSCode 的 settings.json 里如果包含绝对路径(比如指向某台旧机器的 Python 解释器),重装后这些路径大概率失效。建议先清空,再按需重配,比硬修更省时间。
