最可靠方法是卸载新版并重装旧版,因VSCode官方不提供一键回退;需备份插件、下载匹配架构的历史版本、彻底卸载、禁用自动更新,并检查插件engines.vscode兼容性及关闭search.followSymlinks等高负载设置。

直接卸载新版、重装旧版最可靠
VSCode 官方不提供「一键回退」功能,所谓“版本回滚”本质是卸载当前版本 + 手动安装历史版本。新版卡顿或插件报 Extension host terminated unexpectedly,大概率是 Electron 升级导致渲染进程内存占用激增,或插件未适配新 API(比如依赖 vscode.workspace.findFiles 的旧插件在 1.90+ 可能因沙箱策略失效)。
实操建议:
- 先备份
~/.vscode/extensions(macOS/Linux)或%USERPROFILE%\.vscode\extensions(Windows),避免重装后丢失已购/定制插件 - 从 VSCode 更新日志页 找到上一个稳定版的下载链接(例如 1.89.1),注意区分系统架构(
darwin-universal/win32-x64/linux-x64) - 彻底卸载:macOS 上删掉
/Applications/Visual Studio Code.app;Windows 用控制面板卸载,再手动清空%APPDATA%\Code和%USERPROFILE%\.vscode(保留extensions目录)
禁用自动更新避免再次跳变
VSCode 默认开启自动更新,重装旧版后若不干预,几天内就会弹窗提示升级,甚至后台静默下载。这不是设置问题,而是更新机制本身没留“永久锁定”开关。
实操建议:
- 打开
settings.json(通过Cmd/Ctrl + Shift + P → Preferences: Open Settings (JSON)),添加:"update.mode": "none"
- Windows 用户额外检查注册表项
HKEY_CURRENT_USER\Software\Microsoft\VS Code\Update,确保AutoUpdateEnabled值为0 - Mac 用户可终端执行:
defaults write com.microsoft.VSCode.helper UpdateChannel -string "none"(需重启生效)
插件兼容性差时别硬扛,优先查 package.json 的 engines.vscode
很多插件在新版 VSCode 报错,根本原因写在它的 package.json 里——比如 "engines": {"vscode": "^1.85.0"},意味着作者只承诺兼容 1.85.x,1.90+ 就可能出问题。强行降级 VSCode 不如先确认是不是插件本身已废弃。
实操建议:
- 进插件安装目录(
~/.vscode/extensions/作者名.插件名-版本号),打开package.json查engines.vscode字段 - 去插件市场页点「Changelog」,看最近更新日志是否提过 “support VS Code 1.90”
- 临时禁用可疑插件:用
Cmd/Ctrl + Shift + P → Extensions: Disable All Installed Extensions,再逐个启用定位问题源
回退后仍卡顿?重点关掉 search.followSymlinks 和 files.useExperimentalFileWatcher
旧版 VSCode 卡顿未必是版本问题,常被忽略的是文件监听配置。新版默认启用实验性文件监视器(files.useExperimentalFileWatcher),但在某些 NFS 或 Docker 挂载路径下会疯狂触发事件;而 search.followSymlinks 开启后,全局搜索可能遍历整个符号链接树,拖垮响应速度。
实操建议:
- 在
settings.json中显式关闭:"search.followSymlinks": false,<br>"files.useExperimentalFileWatcher": false
- 如果项目含大量 node_modules,加
"search.exclude": {"**/node_modules": true} - 终端中运行
code --status查看当前扩展进程 CPU 占用,比 UI 卡顿更准
回退版本只是手段,真正要盯住的是插件声明的兼容范围和本地工作区的实际 I/O 负载。很多人装完旧版立刻觉得“好了”,结果两天后又卡——八成是没关掉那两个默认开启的监听开关。


















