Как скрыть элемент «Командная палитра» из списка действий в редакторе Monaco - PullRequest
0 голосов
/ 01 октября 2018

Я искал везде, Monaco docs, github, SO, но, похоже, нет примеров того, как скрыть и отключить команду "палитра команд" из контекстного меню:

command palette

Любой совет?

1 Ответ

0 голосов
/ 12 декабря 2018

Что ж, у меня не было выбора, кроме как взломать мой путь в 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"
                }
            }
        }
    }
...