Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code VSCode扩展如何获取行的最后一个字符的位置_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code VSCode扩展如何获取行的最后一个字符的位置

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是一个“位置”对象 但是这个代码是错误的。看来我误解了这个方法。它只是用给定的值设置

我正在开发一个VSCode插件,现在想得到一行中最后一个字符的位置。现在我想通过一个已知的位置对象,使用“with”方法得到它

官方参考资料如下:

您可以看到“with”方法有2个重载。现在我想使用“with(change:{line:number,character:number})”方法:

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
,如果你想在最后一个字符后面找到一个位置

,看看我认为哪个更好;>}没有数学,只有属性。