如何在 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'
在 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'