如何在Monaco Editor中通过编程方式编辑Range?
在Monaco Editor中编辑指定Range的方法
核心实现:使用
editor.executeEdits()
这是Monaco Editor v0.41.0中编辑指定文本范围的标准方案,无需依赖未直接暴露的IEditOperationBuilder。示例代码如下:// 定义目标编辑范围(行号、列号均从1开始) const targetRange = new monaco.Range(1, 1, 1, 1); // 准备替换的新文本 const replacementText = "你的新内容"; // 执行编辑操作 editor.executeEdits('digital-adjuster-edit', [ { range: targetRange, text: replacementText } ]);第一个参数是自定义的编辑操作标识,第二个参数是编辑操作数组,每个操作对象需指定
range(待替换的范围)和text(替换后的内容)。实用技巧
- 若要清空指定范围,将
text设为空字符串""即可 - 编辑操作会自动同步模型与视图,无需手动刷新
- 确保
targetRange的坐标在文档有效范围内,避免报错
- 若要清空指定范围,将
内容的提问来源于stack exchange,提问作者Vexcess
相关产品推荐
相关产品推荐

