如何在每次击键时触发 Monaco 的 onDidChangeModelContent() 函数?
How can I have Monaco's onDidChangeModelContent() function fire on every keystroke?
我试图在每次击键时捕捉摩纳哥编辑器内容的价值。我试过使用编辑器的 onDidChangeModelContent()
函数,但是当在 playground 中使用以下代码尝试时,这似乎不一致:
const editor = monaco.editor.create(document.getElementById("container"), {
value: "function hello() {\n\talert('Hello world!');\n}",
language: "javascript"
});
editor.onDidChangeModelContent = e => {
console.log(editor.getValue());
};
我只在使用 Tab 自动完成 Intellisense 建议时看到控制台条目,而不是在每次击键时。是否有我应该使用的另一个事件侦听器,或者我应该尝试的其他技术?
想通了;示例代码错误地使用了 onDidChangeModelContent()
。要设置事件侦听器,客户端代码需要调用 onDidChangeModelContent()
,而不是设置它。此代码有效:
editor.onDidChangeModelContent(e => {
console.log(editor.getValue());
});
我试图在每次击键时捕捉摩纳哥编辑器内容的价值。我试过使用编辑器的 onDidChangeModelContent()
函数,但是当在 playground 中使用以下代码尝试时,这似乎不一致:
const editor = monaco.editor.create(document.getElementById("container"), {
value: "function hello() {\n\talert('Hello world!');\n}",
language: "javascript"
});
editor.onDidChangeModelContent = e => {
console.log(editor.getValue());
};
我只在使用 Tab 自动完成 Intellisense 建议时看到控制台条目,而不是在每次击键时。是否有我应该使用的另一个事件侦听器,或者我应该尝试的其他技术?
想通了;示例代码错误地使用了 onDidChangeModelContent()
。要设置事件侦听器,客户端代码需要调用 onDidChangeModelContent()
,而不是设置它。此代码有效:
editor.onDidChangeModelContent(e => {
console.log(editor.getValue());
});