右键菜单精简需禁用扩展的菜单贡献或使用alt/option键临时折叠;内置命令可用menuvisibility隐藏但须改package.json,普通用户推荐在settings.json中配置扩展专属开关(如gitlens.views.repositories.menu设为false)或改用快捷键替代。

右键菜单里一堆用不到的选项,怎么关掉?
VSCode 默认右键菜单会塞进大量扩展贡献的命令(比如 GitLens、Prettier、ESLint 插件加的条目),导致真正常用的 Copy、Paste、Reveal in Explorer 被挤到下面甚至要滚动才能看到。这不是靠“设置 → 用户设置”图形界面能调的,得手动改配置。
核心方法是编辑 package.json 的贡献点或使用 menuVisibility 控制项,但普通用户更可行的是利用 VSCode 内置的 menus 配置项,在 settings.json 中隐藏指定菜单项。
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),执行Preferences: Open Settings (JSON) - 在
settings.json里添加"workbench.menuBar.visibility"不起作用——那是顶部菜单栏,不是右键菜单 - 真正控制右键菜单的是
"editor/context"和"explorer/context"等上下文菜单 ID,需配合"menuVisibility"属性(仅支持部分内置命令) - 多数第三方命令不响应
menuVisibility,必须靠禁用对应扩展,或使用commandPalette+when条件间接压制(见下一条)
哪些右键菜单项能直接隐藏?看 commandId 是否在白名单里
只有 VSCode 官方定义的内置命令才支持用 menuVisibility: "hidden" 隐藏。比如:
"menus": {
"editor/context": [
{
"command": "editor.action.clipboardCopyAction",
"when": "editorTextFocus && !editorReadonly",
"group": "navigation",
"menuVisibility": "hidden"
}
]
}
但注意:menuVisibility 必须写在 package.json 的 contributes.menus 里,**不能直接写进 settings.json**。所以普通用户想生效,有两个现实路径:
- 用
Settings Sync或插件(如Custom CSS and JS Loader)注入自定义package.json补丁(高风险,升级易失效) - 更稳妥的做法:在
settings.json中启用"workbench.contextMenu.experimental.enabled": true(VSCode 1.86+),然后配合when条件表达式动态隐藏——但这只对部分命令有效,且需要查清每个命令的when上下文键 - 最常用且无副作用的方式:右键时按住
Alt(Windows/Linux)或Option(macOS),VSCode 会临时折叠扩展贡献的菜单项,只留核心命令
不想删扩展,又想右键清爽?试试禁用扩展的菜单贡献
很多扩展(如 GitLens、Bracket Pair Colorizer)会在安装后自动向右键菜单注入 3–5 个条目。它们通常提供配置开关,只是藏得深:
- 搜索设置项
gitlens.views.repositories.menu→ 设为false可关掉 GitLens 在资源管理器右键里的全部菜单 -
prettier.hideFromContextMenu(Prettier 扩展)→ 设为true后,右键不再出现Format Document等 Prettier 相关项 -
eslint.enable关掉后,ESLint 的右键菜单项(如Fix all auto-fixable problems)也会消失 - 不确定某扩展是否支持?打开其 GitHub 页面或 VSCode 扩展页的
Contributions标签页,找menus字段和对应when条件
真要彻底精简,得接受「右键功能转移」这个事实
VSCode 的设计哲学是把高频操作留给快捷键和命令面板,右键菜单本质是“辅助通道”。过度精简反而可能打断工作流:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在编辑器里点文件名,等效于右键 →Reveal in Explorer -
Ctrl+Shift+P搜copy,比找右键里的Copy Path更快更确定 - 把常用命令绑定到快捷键(如
editor.action.clipboardCopyAction绑定到Ctrl+Alt+C),比依赖右键更稳定 - 某些菜单项(如
Peek Definition)在右键里被隐藏后,仍可通过Alt+F1呼出,功能没丢,只是入口变了
真正的精简不是删光所有非核心项,而是让右键回归“快速触发上下文强相关操作”的定位——比如只留 Cut/Copy/Paste/Find in Files 这类编辑器通用动作,其余交给快捷键或命令面板。这点容易被忽略:你删掉的每个菜单项,背后大概率有更高效、更确定的替代路径。











