如何在 VS 代码语言服务器中将 Uri 转换为文件路径?

How to convert a Uri to a FilePath in a VS Code Language Server?

在 VS Code 扩展中,您可以像这样将 uri 转换为文件路径:

import {Uri} from 'vscode';
let uri = 'file:///c%3A/WINDOWS/file.txt';  
let path:string = Uri.parse(uri).fsPath;  

但是,在语言服务器中这不起作用,因为导入 vscode 失败。 原因是 vscode 是 "not a real node_module"
vscode issue #6586 成功后 运行,

node ./node_modules/vscode/bin/install

语言服务器启动后仍然找不到模块:

Error: Cannot find module 'vscode'

以独立于平台的方式将 Uri 转换为文件路径的最佳方法是什么?

微软似乎已经移动了这个package,所以你需要这样做:

首先添加为依赖:

npm install --save vscode-uri

然后在你的程序中:

import Uri from 'vscode-uri'