【问题标题】:Could VsCode extension get any language server's completion items?VsCode 扩展可以获取任何语言服务器的完成项吗?
【发布时间】:2019-12-03 15:42:53
【问题描述】:

作为标题,我想在我自己的扩展中获取打字稿语言服务器的完成项。我该怎么办?

除了自己运行语言服务器,还有其他方法吗?

【问题讨论】:

    标签: visual-studio-code vscode-extensions language-server-protocol


    【解决方案1】:

    您可以为此使用vscode.executeCompletionItemProvider built-in command

    const list = await vscode.commands.executeCommand('vscode.executeCompletionItemProvider',
        vscode.Uri.file('/path/to/file.ts'),
        new vscode.Position(line, character))
    

    其他功能也存在类似的命令,例如列出引用。

    【讨论】:

    • 非常感谢。该命令可以获得其他建议,但在我的 IntelliSense 扩展中执行该命令会导致循环调用。我没有找到避免这种情况的方法。
    • 我使用flag 来解决这个问题。非常感谢您解决了我的问题。
    猜你喜欢
    • 2018-12-12
    • 2017-03-10
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 2021-09-21
    • 2018-07-21
    相关资源
    最近更新 更多