monaco-editor - Monaco Editor 获取插入符号的源代码索引
问题描述
有没有办法将插入符号位置作为源代码字符串中的索引?我知道我可以得到位置,这会给我一个包含行和列的对象,但是有没有办法获取或将行+列转换为字符串 char 索引?
例如,如果我有:
using System;
using System.Data;
我将插入符号放在“.Data”之前,我知道如何获取行 + col 坐标(第 1 行,第 13 行),但是如何获取 char 数组索引(应该是 25 之类的)?
解决方案
好的,不确定这是否是最好的方法,但以下似乎可以正常工作:
- 获取编辑器位置(行+列)。
- 获取文本直到该位置。
- 获取该文本的长度
这是一个示例代码:
var line = window.editor.getPosition().lineNumber;
var col = window.editor.getPosition().column;
var textUntilPosition = window.editor.model.getValueInRange({ startLineNumber: 1, startColumn: 1, endLineNumber: line, endColumn: col });
var currentPos = textUntilPosition.length;
推荐阅读
- qt - 有没有办法在 qml 的 TableView 上有子标题?
- c# - 如何显示密文
- php - Netbeans/Xdebug 只显示函数中的一些局部变量
- google-apps-script - 从电子表格中删除空行
- r - Travis-CI 在计算代码覆盖率时出现“找不到包目录”错误
- python - 在python中将日期格式从mm/dd/yyyy转换为yyy/mm/dd
- javascript - 使用 Redux 将两个 API 调用合并到同一个对象中
- python - 用循环填充空数据框
- python - 调用模块,“模块”对象不可调用
- javascript - 元素类型无效:应为字符串或类/函数(用于复合组件)但得到:对象