我正在开发一个 VSCode 插件,现在想要获取一行最后一个字符的位置。现在我想使用“with”方法通过已知的 Position 对象获取它。
官方参考在这里:https://code.visualstudio.com/api/references/vscode-api#Position https://code.visualstudio.com/api/references/vscode-api#Position
您会看到“with”方法有 2 个重载。现在我想使用“with(change:{line:number,character:number})”方法:
const endPos = startPos.with({ line: 1, character: -1 });
startPos
是一个“位置”对象。
但这段代码是错误的。看来我误解了这个方法。它只是用给定值设置位置,而不是在其上添加“差异”。那么如何从给定的 Position 中获取一行最后一个字符的 Position 呢? ????
获取该行startPos
并使用它的长度来获取最后一个字符
let curLineText = editor.document.lineAt(startPos);
let lastCharPos = new vscode.Position(curLinePos.line, Math.max(curLineText.text.length-1, 0));
去除-1
如果你想要最后一个字符之后的位置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)