禁用插件不等于卸载,仅停止加载而不删除文件;全局禁用影响所有项目,工作区禁用仅限当前文件夹;卸载后需手动清理settings.json、keybindings.json和.extensions.json中的残留配置。

禁用插件不等于卸载,卸载后配置和缓存仍可能残留——这是绝大多数人清理插件失败的根源。
禁用插件:分清“工作区”和“全局”两种作用域
禁用只是让插件停止加载,不删任何文件。但“在哪禁用”直接影响效果范围:
- 点击扩展卡片右下角齿轮 → 选
Disable:全局禁用,所有项目都跳过该插件 - 命令面板(
Ctrl+Shift+P)输入Extensions: Disable Extension in This Workspace:仅当前文件夹生效,插件图标旁会出现灰色“工作区”标识 - 误点“Disable”后发现功能没了?别急着重装,用同样路径的
Enable Extension in This Workspace或全局Enable就能恢复 - 某些插件(如
ms-python.python、主题类)禁用后需手动执行Developer: Reload Window才真正卸载运行时
卸载插件:界面上点“Uninstall”只是第一步
VS Code 界面点击 Uninstall 只会删掉插件代码本体,但以下三处残留几乎必然存在:
-
settings.json里仍保留插件专属配置,例如"prettier.requireConfig"或"eslint.enable",新装同名插件会直接继承旧逻辑 -
keybindings.json中绑定的快捷键(如extension.prettier.format)不会自动清除,可能触发报错或空白响应 - 工作区级推荐仍在
.vscode/extensions.json里,下次打开该文件夹,VS Code 仍会弹窗提示“安装推荐插件”
真正干净的卸载,必须顺手检查并手动删掉这三处。
批量禁用/卸载:别靠鼠标点,用命令行或筛选技巧提效
装了二三十个插件后,逐个找、逐个点效率极低,且容易漏掉已禁用但未卸载的:
- 在扩展视图顶部搜索框输入
@disabled,立刻列出全部被禁用项;输入@installed则只看已安装未禁用的 - 按住
Ctrl(Windows/Linux)或Cmd(macOS)多选多个插件,右键统一执行Disable或Uninstall - 终端中运行
code --list-extensions查已装列表,再用code --uninstall-extension ms-python.python批量卸载,适合重装环境或 CI 流水线
插件 ID 和文件夹名不一致?别凭感觉删 extensions 目录
有人想“彻底清理”,直接进 .vscode/extensions/ 手动删文件夹,结果删错、删漏、甚至删掉核心语言支持包——因为:
- 插件实际文件夹名是随机哈希串(如
esbenp.prettier-vscode-12.0.0_8a3b4c...),和你在市场看到的名称、ID 都不对应 - 正确做法:先在扩展详情页复制完整 ID(格式为
publisher.name,如esbenp.prettier-vscode),再进.vscode/extensions/搜索该字符串定位文件夹 - 更稳妥的方式是先在 VS Code 里完成
Uninstall,再进目录确认是否还有残留文件夹——有则删,无则止
最易被忽略的是:禁用或卸载后没检查 settings.json 里是否还挂着插件配置,这些残留常导致新装插件行为异常,比如格式化突然失效、保存不触发 lint,却查不到原因。











