无法连接到 tsserver
can't connect to tsserver
我正在编写一个 vscode 扩展,它应该连接到 tsserver 以便为 typescript/javascript 提供语言支持。
我是这样做的(在 extension.ts 中,在激活中):
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() 方法阻止了我。我如何让它工作?
tsserver 不使用语言服务器协议,它有自己的基于 json 的协议。您无法使用语言服务器协议 apis
连接到它
我正在编写一个 vscode 扩展,它应该连接到 tsserver 以便为 typescript/javascript 提供语言支持。
我是这样做的(在 extension.ts 中,在激活中):
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() 方法阻止了我。我如何让它工作?
tsserver 不使用语言服务器协议,它有自己的基于 json 的协议。您无法使用语言服务器协议 apis
连接到它