首页 > 解决方案 > 以编程方式获取 VS Code 工作区中所有符号的列表以进行自定义扩展

问题描述

在 VS Code 的快速视图中,您可以键入#mySymbol以在工作区中搜索名为mySymbol. 我想以编程方式获取这些符号结果,但看不到通过 API 这样做的方法。有任何想法吗?

标签: visual-studio-codevscode-extensions

解决方案


您可以为此运行vscode.executeWorkspaceSymbolProvider命令:

vscode.executeWorkspaceSymbolProvider- 执行所有工作区符号提供程序。

  • 查询- 搜索字符串
  • (返回) - 解析为 SymbolInformation 实例数组的承诺。
vscode.commands.executeCommand("vscode.executeWorkspaceSymbolProvider", "mySymbol").then(
    function (symbols: vscode.SymbolInformation[]) {
        // do something with the symbols
    }
);

请注意,如果搜索查询是空字符串,某些符号提供程序实现可能不会返回任何结果。


推荐阅读