我正在为摩纳哥编辑器创建一个数字洗涤器。为此,我需要能够以编程方式编辑代码中的范围。我可以使用
new monaco.Range(1, 1, 1, 1)
创建一个范围,然后可以使用 editor.getModel().getValueInRange(myRange);
从该范围中获取文本。但是我不知道如何编辑范围。
EditOperationBuilder 是我在文档中找到的唯一东西(https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IEditOperationBuilder.html),这可能是我想要的,但我可以在网上找不到任何有关如何使用它的示例。当我尝试将 IEditOperationBuilder 与我的 Monaco Editor v0.41.0 版本一起使用时,似乎 IEditOperationBuilder 甚至不作为全局 monaco 对象、编辑器或编辑器模型的属性存在。我还检查了,没有
setValueInRange
方法,鉴于有 getValueInRange
方法,这将是直观的。
https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.ICodeEditor.html#executeEdits 示例:
editor.executeEdits('number-scrubber', [
{
range: new monaco.Range(1, 1, 1, 1),
text: code,
},
]);