VS Code扩展开发:如何通过修改package.json为命令传参
解决方案
1. 合并命令定义
打开package.json,找到contributes.commands节点,删除原有的demo.Set_A、demo.Set_B、demo.Set_C三个命令条目,新增一个通用命令:
"contributes": { "commands": [ { "command": "demo.Set_Common", "title": "Set Option" } ] }
2. 调整右键菜单参数
在contributes.menus.explorer/context节点下,修改三个右键菜单项的配置:将command统一改为上面的demo.Set_Common,并通过arguments传递不同的标识参数,保留原来的菜单标题:
"menus": { "explorer/context": [ { "command": "demo.Set_Common", "arguments": ["A"], "title": "Set A" }, { "command": "demo.Set_Common", "arguments": ["B"], "title": "Set B" }, { "command": "demo.Set_Common", "arguments": ["C"], "title": "Set C" } ] }
补充说明
修改完成后,右键菜单的三个选项都会触发同一个demo.Set_Common命令,且分别携带参数"A"、"B"、"C"。你需要在extension.ts中注册这个通用命令的处理函数,通过判断传入的参数来执行对应原命令的逻辑(这部分是功能实现的必要配合,但你要求仅修改package.json的话,上述配置已经完成了命令合并和参数传递的核心部分)。
内容的提问来源于stack exchange,提问作者Amir Kabir
相关产品推荐
相关产品推荐

