如何在摩纳哥编辑器中覆盖 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"))
我试图仅在按 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"))