На стороне сервера:
export function GetFileRequest(nameInter:string) {
connection.sendRequest("getFile", nameInter).then( (body : string) => {
if (body != undefined && body.length) pushImports(body);
});
}
на стороне клиента: в функция активирована (контекст: ExtensionContext) после client.start ();
client.onReady().then(() => {
client.onRequest("getFile", (nameInter : string) : Promise<string> => { return getFile(nameInter); } );
});
и асинхронная функция на стороне клиента:
async function getFile(name):Promise<string>{
let uri:Uri = undefined;
let text:string = undefined;
await workspace.findFiles(name, null, 1).then((value)=> {
if (value.length) {
uri=value[0];
}
});
if (uri!=undefined) {
let textDocument;
await workspace.openTextDocument(uri).then((value)=>textDocument = value);
text = textDocument.getText();
}
return text;
}
Этот код вернет текст из файла на сторону сервера.