Я пишу расширение vscode, которое должно подключаться к tsserver, чтобы обеспечить языковую поддержку для машинописного текста / javascript.
Вот как я это делаю (в extension.ts, внутри activate ):
const serverModule = path.resolve(
__dirname,
"..",
"node_modules",
"typescript",
"lib",
"tsserver.js"
);
const debugOptions = { execArgv: ["--nolazy", "--inspect=6009"] };
const serverOptions: ServerOptions = {
run: { module: serverModule, transport: TransportKind.ipc },
debug: {
module: serverModule,
transport: TransportKind.ipc,
options: debugOptions,
},
};
const clientOptions = {
documentSelector: [
{
scheme: "file",
language: "typescript",
},
],
};
client = new LanguageClient(
"server-id",
"server-name",
serverOptions,
clientOptions
);
context.subscriptions.push(client.start());
Но когда я вызываю client.onReady (). Then (() => client.sendRequest (...)); запрос не отправляется. Я почти уверен, что проблема в том, что фаза инициализации не удалась, поэтому метод onReady () меня блокирует. Как заставить его работать?