多级子菜单配置
- 在package.json文件中的contributes节中添加submenu项,如下:
"submenus": [
{
"id": "edkrepoTool",
"label": "edkrepo"
},
{
"id": "clone",
"label": "edkrepo clone"
}
],
- 把定义的子菜单放入到指定的菜单中(menus节中 - 一级菜单)
"menus": {
"explorer/context": [ // 这代表把id为edkrepoTool的子菜单放入到资源管理器右键菜单中
{
"submenu": "edkrepoTool",
"group": "group",
"when": "explorerResourceIsFolder"
}
]
}
- 为edkrepo添加二级菜单
"edkrepoTool": [
{
"command": "edkrepo.menus.manifest",
"group": "group1",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.clone",
"group": "group1",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.status",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.combo",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.clean",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.reset",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.maintenance",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.log",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.sparse",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.checkout",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.listpins",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.selfcheck",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.sync",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.update_manifest_repo",
"group": "group1"
},
{
"command": "edkrepo.menus.squash",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.cache",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.checkout-pin",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.create-pin",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.cherry-pick",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.list-repos",
"group": "group2",
"when": "explorerResourceIsFolder"
},
{
"command": "edkrepo.menus.manifest-repos",
"group": "group1",
"when": "explorerResourceIsFolder"
}
]
- 添加三级菜单(以edkrepo clone 为例)
- 把上面定义id为clone的子菜单添加至二级菜单中,如下:
"edkrepoTool": [
{
"submenu": "clone",
"group": "group3",
"when": "explorerResourceIsFolder"
}
]
"clone" : [
{
"command": "help",
"group": "group"
},
{
"command": "verbose",
"group": "group"
}
]
- 最后为id为clone的菜单项定义命令(在commands节中)
"commands": [
{
"command": "help",
"title": "edkrepo clone help"
},
{
"command": "verbose",
"title": "edkrepo clone verbose"
}
]
- 以此类推,可添加多级子菜单