не могу подключиться к tsserver - PullRequest
0 голосов
/ 27 мая 2020

Я пишу расширение 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 () меня блокирует. Как заставить его работать?

1 Ответ

1 голос
/ 29 мая 2020

tsserver не использует протокол языкового сервера, у него есть собственный протокол на основе json. Вы не можете подключиться к нему, используя протокол языкового сервера apis

...