vscode插件篇:如何配置父子菜单级联

969 阅读1分钟

配置package.json下的contributes

"contributes": {
    "menus": {
        // 左侧视图区右键菜单
        "explorer/context": [
            {
                "group": "navigation",
                "submenu": "nihao",
                "when": "false"
            }
        ],
        // 对应上面的"submenu",列表配置的子菜单的指令及顺序
        "nihao": [
            {
                "command": "nihao1",
                "group": "navigation"
            },
            {
                "command": "nihao2",
                "group": "navigation"
            }
        ]
    },
    "submenus": [
        {
            // 此处的id对应'explorer/context'处的'submenu'
            "id": "nihao",
            "label": "父菜单"
        }
    ],
    // 子菜单关联的指令在此处配置
    "commands": [
        {
            "command": "nihao1",
            "title": "子菜单1"
        },
        {
            "command": "nihao2",
            "title": "子菜单2"
        }
    ]
}

注册指令

// 注册菜单1指令
vscode.commands.registerCommand("nihao1", ()=>{
    vscode.window.showInformationMessage("我是菜单1");
});
// 注册菜单2指令
vscode.commands.registerCommand("nihao2", ()=>{
    vscode.window.showInformationMessage("我是菜单2");
});

效果呈现

image.png

image.png

菜单顺序

分组后面加@数字,例如:"group":"navigation@2",效果如下:

image.png