typescript - Hur konverterar man en Uri till en FilePath i en VS Code Language Server?
I ett VS Code-tillägg kan du konvertera en URI till en filväg på detta sätt:
import {Uri} from 'vscode';
let uri = 'file:///c%3A/WINDOWS/file.txt';
let path:string = Uri.parse(uri).fsPath;
Men i en språktjänst fungerar detta inte, eftersom importering av vscode misslyckas. Anledningen till detta är att vscode är "inte en riktig node_module"
vscode problem #6586 efter att ha körts framgångsrikt,
node ./node_modules/vscode/bin/install
när språkservern startas hittar den fortfarande inte modulen:
Error: Cannot find module 'vscode'
Vad är det bästa sättet att omvandla en Uri till en filväg på ett plattformsoberoende sätt?
Svar #1
Det verkar som att Microsoft har flyttat detta paket, så du behöver göra följande:
Lägg först till som ett beroende:
npm install --save vscode-uri
Och sedan i ditt program:
import Uri from 'vscode-uri'
