如何在 VSCode 中实现“转到定义”扩展

zde*_*nek 8 typescript visual-studio-code vscode-extensions language-server-protocol

vscode-languageserver::IConnection必须实现哪种方法才能在多个文件上提供“转到定义”功能?

我正在学习Language Server Node Example和 vscode “API 文档”,但我没有找到任何信息。

zde*_*nek 6

以下代码片段说明了如何使用vscode-laguageserver.

connection.onInitialize((params): InitializeResult => {
    ...
    return {
        capabilities: {
            definitionProvider: true,
            ...
        }
    }
});

connection.onDefinition((textDocumentIdentifier: TextDocumentIdentifier): Definition => {
    return Location.create(textDocumentIdentifier.uri, {
        start: { line: 2, character: 5 },
        end: { line: 2, character: 6 }
    });
});
Run Code Online (Sandbox Code Playgroud)