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

问题描述 投票:0回答:2

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

目前看起来是这样的。

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

类似“返回”和“前进”。

这可以做到吗?

visual-studio-code contextmenu customization
2个回答
15
投票

是的,您可以通过创建供您自己使用的个人扩展来将菜单项添加到上下文菜单。在您的扩展中的

package.json
中,添加
contributes.menus
部分。文本编辑器上下文菜单称为
editor/context

(如果您之前没有开发过扩展,请从 Microsoft 的 Your First Extension 教程开始。)

查看另一个将项目添加到上下文菜单的扩展可能会有所帮助。执行此操作的(众多)扩展之一是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"
                }
            ],
            ....
        },
        ....
    },
    ....
}

command
可以是任何命令;它不一定是由您的分机安装的。

API 文档 对于

group
属性的含义有点模糊:

最后,

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

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


0
投票

对于不需要安装扩展的解决方案,这是通过功能请求问题票来跟踪的:用户可配置菜单#9285,它显然应该支持在上下文菜单中添加和删除条目。您可以通过点赞来表达您对功能请求的支持,并且您可以订阅它以获取有关讨论和进度的通知。请避免在那里发表嘈杂的评论,例如“+1”/“bump”。如果您想为那里的设计讨论做出贡献,请保持建设性。

© www.soinside.com 2019 - 2024. All rights reserved.