Visual Studio Code 自定义语言 IntelliSense 和转到符号

ede*_*bin 5 intellisense visual-studio-code

我正在为 Visual Studio Code 中的自定义语言编写扩展。语法检测通过 tmLanguage 文件运行良好。我试图弄清楚如何添加智能感知并转到符号支持,我既无法找到清晰的文档,也无法找到可用的参考文件。

当我选择自定义语言打开文件并选择转到符号时,我收到以下错误:不幸的是,我们没有该文件的符号信息。

是否有任何文档,或者您能否提供一些有关如何入门的提示,或者我们是否知道这些选项不适用于自定义语言?

Wos*_*osi 3

转到工作区中的任何符号:实现 aWorkspaceSymbolProvider并将其注册到扩展的 main.js 中,如下所示

function registerSupports(modeID, host, client) {
    vscode.languages.registerWorkspaceSymbolProvider(new WorkspaceSymbolProvider(client, modeID));
}
Run Code Online (Sandbox Code Playgroud)

转到符号(在当前光标位置):实现 aDefinitionProvider并将其注册到扩展的 main.js 中,如下所示

function registerSupports(modeID, host, client) {
    vscode.languages.registerDefinitionProvider(modeID, new DeclarationSupport(client));
}
Run Code Online (Sandbox Code Playgroud)

IntelliSense:实现 aCompletionItemProvider并将其注册到扩展程序的 main.js 中,如下所示

function registerSupports(modeID, host, client) {
    vscode.languages.registerCompletionItemProvider(modeID, new SuggestSupport(client), '.');
}
Run Code Online (Sandbox Code Playgroud)

另请参阅HelloWorld 扩展语言服务器示例