如何在VSCode扩展中禁用编辑器右键菜单的‘Refactor...’选项?
禁用VSCode编辑器右键菜单的“Refactor...”选项
VSCode从1.70版本起新增了编辑器右键菜单选项Refactor...。在开发不支持重构功能的扩展时,该选项并无必要,点击后只会提示错误No refactorings available。通常右键菜单选项仅在注册对应提供者(如为Go to Definition注册DefinitionProvider)时才会显示,但该选项无需注册便会出现,请问是否有办法禁用该右键菜单选项?
解决方法
- 可以通过修改扩展的
package.json配置,添加菜单隐藏规则实现:
在contributes.menus.editor/context字段中,添加针对refactor菜单的规则,将when条件设为false,强制隐藏该选项:{ "contributes": { "menus": { "editor/context": [ { "command": "editor.action.refactor", "when": "false" } ] } } } - 原理是VSCode菜单系统支持通过
when条件控制菜单项显示,设为false会让该选项永远不出现。 - 如果需要更精准的控制,也可以针对特定语言场景设置条件,比如仅在你的扩展对应语言中隐藏:
"when": "editorLangId == 'your-language-id' && false"
内容的提问来源于stack exchange,提问作者Darshana Suresh
相关产品推荐
相关产品推荐

