Visual studio code VSCode扩展如何获取行的最后一个字符的位置
我正在开发一个VSCode插件,现在想得到一行中最后一个字符的位置。现在我想通过一个已知的位置对象,使用“with”方法得到它 官方参考资料如下: 您可以看到“with”方法有2个重载。现在我想使用“with(change:{line:number,character:number})”方法:Visual studio code VSCode扩展如何获取行的最后一个字符的位置,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在开发一个VSCode插件,现在想得到一行中最后一个字符的位置。现在我想通过一个已知的位置对象,使用“with”方法得到它 官方参考资料如下: 您可以看到“with”方法有2个重载。现在我想使用“with(change:{line:number,character:number})”方法: const endPos=startPos.with({line:1,character:-1}); startPos是一个“位置”对象 但是这个代码是错误的。看来我误解了这个方法。它只是用给定的值设置
const endPos=startPos.with({line:1,character:-1});
startPos
是一个“位置”对象
但是这个代码是错误的。看来我误解了这个方法。它只是用给定的值设置位置,而不是在其上添加“差”那么如何获取一行中最后一个字符的位置,从给定位置派生出来?获取
起始点的行
,并使用其长度获取最后一个字符
let curLineText = editor.document.lineAt(startPos);
let lastCharPos = new vscode.Position(curLinePos.line, Math.max(curLineText.text.length-1, 0));
删除-1
,如果你想在最后一个字符后面找到一个位置,看看我认为哪个更好;>}没有数学,只有属性。