如何使用 vscode 扩展 api 将命令放入子菜单中

Eis*_*ter 4 command submenu typescript vscode-extensions

我正在创建一个 Visual Studio 代码扩展,我想将一个命令放入这样的子菜单中在此输入图像描述

在这里,“Peek”子菜单包含“Peek Call Hierarchy”等命令。

目前在我的Package.json,我有

{
    "contributes": {
        "commands": [{
            "command":"myExtension.dothing",
            "title":"make the extension do a thing",
            "category":"myextensioncategory"
        }],
        "menus": [{
            "explorer/context": [{
                    "command": "myExtension.dothing",
                    "group": "myextension.myGroup",
                    "when": "!explorerResourceIsFolder"
                },
                {
                    "submenu": "myextensionsubmenu",
                    "group": "myextension.myGroup"
                }
            ]
        }],
        "submenus": [{
            "label": "my extension",
            "id": "myextensionsubmenu"
        }]
    }
}
Run Code Online (Sandbox Code Playgroud)

(未删除相关部分)

它显示出类似这样的内容

在此输入图像描述

我想将“让扩展做某事”命令放入“我的扩展”子菜单中,但我不明白如何从文档中做到这一点任何 人都可以解释或向我指出资源/教程吗?谢谢!

Emp*_*ire 5

据我了解子菜单的结构,您必须在菜单数组中添加相关条目。

您的package.json可能如下所示:

{
    "contributes": {
        "commands": [{
            "command":"myExtension.dothing",
            "title":"make the extension do a thing",
            "category":"myextensioncategory"
        }],
        "menus": [{
            "explorer/context": [{
                    "command": "myExtension.dothing",
                    "group": "myextension.myGroup",
                    "when": "!explorerResourceIsFolder"
                },
                {
                    "submenu": "myextensionsubmenu",
                    "group": "myextension.myGroup"
                }
            ],
            "myextensionsubmenu":[
                  {
                    "command":"myExtension.dothing",
                    "group":"myExtension.myGroup"
                   }
            ]
        }],
        "submenus": [{
            "label": "The Label for the menu that opens the submenu",
            "id": "myextensionsubmenu"
        }]
    }
}
Run Code Online (Sandbox Code Playgroud)

“submenus”数组中的对象似乎只定义了相应条目的标签。

你也可以看看这个。它可能对你有帮助。

  • @Kaviarasu 据我所知,这是不可能的 (2认同)