如何从“摩纳哥编辑器”中的操作列表中隐藏“命令面板”项

时间:2018-10-01 18:59:06

标签: javascript monaco-editor

我一直在到处找寻Monaco文档,github,SO,但是似乎没有如何从上下文菜单中隐藏和禁用“命令面板”命令的示例:

command palette

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

哦,好吧,我别无选择,只能闯入DOM以便删除“命令面板”。这远非理想,它也并没有真正禁用F1快捷方式,但这只是我目前所拥有的:

    private onContextMenu() {
        const menuItems = document.querySelector(".monaco-menu .actions-container");
        if (menuItems && menuItems.childNodes && menuItems.childNodes.length > 0) {
            for (let i = 0; i < menuItems.childNodes.length; i++) {
                const menuItem = menuItems.childNodes[i];
                if (menuItem.innerText.indexOf("Command Palette") !== -1) {
                    // remove "Command Pallete" item and it's separator from the menu
                    menuItems.removeChild(menuItem); // the "Command Palette" item
                    menuItems.removeChild(menuItems.childNodes[i - 1]); // the separator item before "Command Palette"
                }
            }
        }
    }