Как переопределить Ctrl-пробел в редакторе Monaco

Я пытаюсь заменить предложения редактора Монако своими собственными только при нажатии Ctrl-Пробел. Итак, я решил начать с:

editor.addCommand(monaco.KeyMod.chord(monaco.KeyCode.Ctrl, monaco.KeyCode.Space), () => console.log("hello world"));

с намерением заменить console.log... чем-нибудь другим в будущем. Но редактор не реагирует и вместо этого дает мне полный список предложений.

Может ли кто-нибудь подсказать, как переопределить это поведение по умолчанию?


person Vyacheslav Zgordan    schedule 03.04.2020    source источник


Ответы (1)


Нашел здесь ответ https://github.com/microsoft/monaco-editor/issues/1901#issuecomment-609018281, ответ: я использую MacOS, и в этом случае нам нужно использовать monaco.KeyMod.WinCtrl вместо monaco.KeyCode.Ctrl и не нужно аккордов, полный код является:

const editor = monaco.editor.create(document.getElementById("container"), {
    value: "function hello() {alert('Hello world!');}",
    language: "javascript"
});

editor.addCommand(monaco.KeyMod.WinCtrl | monaco.KeyCode.Space, () => console.log("hello world"))
person Vyacheslav Zgordan    schedule 05.04.2020