如何在摩纳哥编辑器中覆盖 Ctrl-Space

How to override Ctrl-Space in Monaco Editor

我试图仅在按 Ctrl-Space 时用我自己的建议覆盖摩纳哥编辑器的建议。所以我决定开始:

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

打算在将来用其他任何东西替换 console.log...。但是编辑没有反应,而是给了我一个完整的建议列表。

任何人都可以提示如何覆盖此默认行为吗?

在这里找到答案 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"))