gpt4 book ai didi

visual-studio-code - 将外部语言服务器连接到 VSCode 扩展

转载 作者:行者123 更新时间:2023-12-03 23:58:52 27 4
gpt4 key购买 nike

我想实现一个使用 Language Server Protocol 的 VSCode 扩展,但我希望服务器组件位于实际服务器(在云中)上,而不是 VSCode 扩展的一部分。

我可以将客户端扩展设置为通过 websockets 或 HTTP 连接到服务器吗?

最佳答案

我不确定您是否可以控制语言服务器的位置,但还有另一种选择。例如,您不需要实现语言服务器协议(protocol)来提供解析帮助。在这种情况下,您可以实现自己方便的解析服务 API(根据您要支持的语言的性质量身定制)。

  • 在您的扩展中,您使用 workspace.onDidChangeTextDocument 订阅工作区编辑事件。
  • 每次引发文件更改事件时重新启动 1 秒超时
  • 当超时到期而没有任何进一步的文件修改时,收集所有相关文件并将它们发送到您的解析服务器
  • 在您的扩展程序中,创建一个 DiagnosticCollection使用 https://code.visualstudio.com/api/references/vscode-api#languages.createDiagnosticCollection并用云中解析服务器产生的警告/错误/提示替换它。
  • 订阅其他workspace事件,例如workspace.onDidOpenTextDocumentworkspace.onDidCloseTextDocument为了保持DiagnosticCollection内容相关
  • 关于visual-studio-code - 将外部语言服务器连接到 VSCode 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40284523/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com