如何最好地将偏移位置解析为 vscode DefinitionProvider 中的行、列位置

Vik*_*alk 7 visual-studio-code vscode-extensions

我正在将我的 Atom 包移植到 vscode 中,以便将 ensime 集成到其中。

\n\n

当尝试进行定义提供者时,我遇到了一个问题。ensime-server 为我提供了绝对字符位置,但 DefinitionProvider 协议要求行、列。只要我有文档,这就不是问题,因为我可以简单地执行此操作document.positionAt(offset),但是document.offsetAt(position)在定义提供者的范围内,我实际上还没有打开任何文档,我认为我不应该只是解析位置,因为 vscode 也使用它来悬停 info\xe2\x80\xa6

\n\n

这是我的wip:https://github.com/hedefalk/ensime-vscode/commit/57ed65f06e64e7f8969e08a8ac676d2c241287d1#diff-ee758fbdcafb036ed84d706f8b6f42a1R19

\n\n

将字符偏移解析为所需的 vscode.Position 的最佳选择是什么?有没有我可以使用的快速文件阅读器?我真的不想从外部打开文件。

\n