如何在Visual Studio Code中自定义上下文菜单?

Ada*_*dam 8 customization contextmenu visual-studio-code

是否可以在Visual Studio Code中自定义上下文菜单?

目前看起来像这样。

在此处输入图片说明

我需要再添加两个菜单选项。

诸如“返回”和“前进”之类的东西。

能做到吗?

Sco*_*eak 15

是的,您可以通过创建供您自己使用的个人扩展来将菜单项添加到上下文菜单。在您的扩展中package.json,添加一个contributes.menus部分。文本编辑器上下文菜单称为editor/context

(如果您以前没有开发过扩展,请从 Microsoft 的“您的第一个扩展”教程开始。)

查看另一个将项目添加到上下文菜单的扩展可能会有所帮助。执行此操作的(众多)扩展之一是Bookmarks,它添加了三个上下文菜单条目。其相关部分package.json是:

{
    "name": "Bookmarks",
    ...
    "contributes": {
        ...
        "menus": {
            ...
            "editor/context": [
                {
                    "command": "bookmarks.toggle",
                    "group": "bookmarks",
                    "when": "editorTextFocus && config.bookmarks.showCommandsInContextMenu"
                },
                {
                    "command": "bookmarks.jumpToNext",
                    "group": "bookmarks@1",
                    "when": "editorTextFocus && config.bookmarks.showCommandsInContextMenu"
                },
                {
                    "command": "bookmarks.jumpToPrevious",
                    "group": "bookmarks@1",
                    "when": "editorTextFocus && config.bookmarks.showCommandsInContextMenu"
                }
            ],
            ....
        },
        ....
    },
    ....
}
Run Code Online (Sandbox Code Playgroud)

可以command是任何命令;它不必是由您的扩展安装的。

API文档对该属性的含义有点模糊group

最后,group属性定义菜单项的排序和分组。

其含义在组排序下有更全面的描述。像“bookmarks”这样的词建立了一组通过水平规则与其他组分开的菜单项,组按字母顺序排序,“@<number>”后缀控制每个组内的排序:

三个添加的上下文菜单项的屏幕截图

  • @zhuhang.jasper 我的答案是建议编写个人扩展以添加菜单项。书签只是一个说明性示例。我已经编辑了答案以希望能够澄清。 (2认同)