【问题标题】:Is it possible to access a VSCode language server from another application?是否可以从另一个应用程序访问 VSCode 语言服务器?
【发布时间】:2022-01-14 22:53:46
【问题描述】:

根据https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/ 的概述,VSCode 语言服务器本质上是 JSON-RPC 服务器。一旦 VSCode 已打开并运行至少 1 个语言服务器,您如何知道该语言服务器运行在哪个端口上以便从 VSCode 外部访问它?

我想制作一个实验性应用程序,其中 VSCode 语言服务器是在单独进程中运行的自定义代码编辑器的后端。

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    语言服务器通常是 VSCode 根据配置启动的控制台应用程序,它的 stdin/stdout 流是重定向的。通常没有打开端口。又名,JSON-RPC 是基于标准输入/标准输出的协议,而不是基于 HTTP 的 JSON。

    如果你想将语言服务器与你自己的编辑器集成,你可以在编辑器端完全实现语言服务器协议客户端,这样它就可以执行相同的语言服务器进程管理和标准输入/标准输出流重定向。有许多面向著名编辑的开源项目,例如

    根据您的编辑器所基于的编程语言,您可以找到更具体的示例。

    【讨论】:

    • 谢谢!我将研究基于这些实现语言客户端。
    猜你喜欢
    • 2011-05-06
    • 1970-01-01
    • 2015-10-12
    • 2013-01-10
    • 1970-01-01
    • 2012-03-16
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多