只有vscode官方内置命令(如editor.action.clipboardcopyaction)和gitlens、eslint等明确支持menuvisibility的插件命令,才能通过settings.json设为"hidden";其他插件右键项不响应该配置,需禁用插件或清理注册表。

哪些右键菜单项能直接用 settings.json 隐藏
只有 VSCode 官方内置命令(如 editor.action.clipboardCopyAction、explorer.openInTerminal)和部分主流插件(GitLens、ESLint、Prettier 等)明确声明支持 menuVisibility 的条目,才能通过 settings.json 直接设为 "hidden"。其他插件注册的菜单项基本无效——不是配置错了,是压根不响应。
常见可隐藏的内置项包括:
-
"editor/context": "hidden"—— 关闭编辑器区域全部右键菜单(慎用,会连复制/粘贴都消失) -
"explorer/context": "hidden"—— 关闭资源管理器区域右键菜单 -
"gitlens.compareWithBranch": "hidden"—— GitLens 插件的具体命令 ID,需查其文档确认 -
"eslint.showOutputChannel": "hidden"—— ESLint 插件的输出通道入口
值必须是字符串 "hidden",写成 false 或 null 不生效。
禁用插件比改配置更可靠
很多插件(比如 Path Intellisense、Project Manager、Auto Rename Tag)根本不支持 menuVisibility,它们的右键项是硬编码注入的,settings.json 里加再多规则也没用。
这时最干净的做法是禁用插件本身:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),执行Developer: Show Running Extensions - 按
Ctrl+Click多选疑似贡献菜单的插件(名称含context、menu、explorer的优先检查) - 右键 →
Disable (Workspace)或Disable (User),然后完全退出 VSCode 进程(任务管理器杀掉所有Code进程),再重开 - 别只点「禁用」就以为完事——有些插件在重启前仍会残留菜单项
删不掉的右键菜单残留怎么清
卸载插件后右键还出现空项、报错或点击无反应,大概率是 VSCode 缓存了旧注册信息,不是 bug,但得手动清。
操作顺序不能错:
- 确认插件已从「已安装」列表中彻底删除(不只是禁用)
- 进插件目录手动删残留文件夹:
~/.vscode/extensions/(macOS/Linux)或%USERPROFILE%\.vscode\extensions\(Windows) - 任务管理器里结束所有
Code进程(Code Helper、Code (Renderer)也得杀) - 重开 VSCode 后,打开开发者工具(
Help → Toggle Developer Tools),右键触发一次,看 Console 是否输出command 'xxx' not found—— 有就说明还有残余注册没清干净
Windows 系统级右键菜单(“在此处打开 VS Code”)怎么关
这个不是 VSCode 自己控制的,是安装时写进 Windows 注册表的,settings.json 完全无效。
真正有效的办法只有两个:
- 运行注册表脚本
remove-vscode-icon.reg,内容必须包含这两行:[-HKEY_CLASSES_ROOT\Directory\Background\shell\vscode] [-HKEY_CLASSES_ROOT\Directory\shell\vscode]
前者删「文件夹空白处」右键项,后者删「文件夹图标上」右键项 - 手动进注册表编辑器(
regedit),定位到这两个路径,右键 → 删除
删完不用重启系统,但要重启资源管理器(任务管理器 → 重启 explorer.exe)或直接注销重登录才生效。
最常被忽略的一点:VSCode 的右键菜单没有统一开关。它由三套机制叠加组成——系统注册表、插件贡献点、VSCode 内置菜单配置。想“一键精简”,本质是分层处理:先砍系统级入口,再筛插件,最后微调内置项。漏掉任何一层,都会看到不该出现的选项。











