如何在 Monaco 编辑器中以编程方式查找文本的位置

How to find a position of a text programmatically in Monaco editor

有什么方法可以通过原始字符串和字符串中子字符串开头和结尾的索引来计算摩纳哥编辑器中的位置吗?

有可能find matches API:

editor.getModel().findMatches('sub_string')

我想知道是否有任何其他方法,因为可以有多个匹配并且 API 方法不完全适合我当前的任务。

有一个 API 方法 getPositionAt(参见 here

const position = editor.getModel().getPositionAt(index);
const { lineNumber, column } = position;

FindMatches 非常适合我在 Monaco 编辑器中以编程方式查找文本的位置。

即使您只有一个搜索字符串(没有索引),它也应该找到每个匹配项,不仅 return 起始行号和列位置,而且还有结束点。

editor.getModel().findMatches('sub_string', true, false, false, null, true);

FindMatches example return value: