【问题标题】:Programmatically get list of all symbols in VS Code workspace for custom extension以编程方式获取 VS Code 工作区中所有符号的列表以进行自定义扩展
【发布时间】:2018-10-18 23:01:53
【问题描述】:

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

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    您可以为此运行vscode.executeWorkspaceSymbolProvider command

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

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

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

    【讨论】:

    • 是否可以获得所有工作区符号的列表?
    • 空数组(TypeScript)。
    • 你的意思是你得到一个空的query字符串的结果?
    • query 的 API 文档状态:“查询字符串,可以是空字符串,在这种情况下应返回所有符号。”,因此这将是 TypeScript 扩展中的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多