根據https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/的概述,VSCode 語言服務器本質上是 JSON-RPC 服務器。一旦 VSCode 打開并運行至少 1 個語言服務器,您如何知道該語言服務器正在哪個埠上運行以便從 VSCode 外部訪問它?
我想制作一個實驗性應用程式,其中 VSCode 語言服務器是在單獨行程中運行的自定義代碼編輯器的后端。
uj5u.com熱心網友回復:
語言服務器通常是 VSCode 根據配置啟動的控制臺應用程式,其 stdin/stdout 流是重定向的。通常沒有打開埠。又名,JSON-RPC 是基于標準輸入/標準輸出的協議,而不是基于 HTTP 的 JSON。
如果你想將語言服務器與你自己的編輯器集成,你可以在編輯器端完全實作語言服務器協議客戶端,這樣它就可以執行相同的語言服務器行程管理和標準輸入/標準輸出流重定向。有許多面向著名編輯的開源專案,例如
- https://github.com/autozimu/LanguageClient-neovim
- https://github.com/atom-community/atom-languageclient
根據您的編輯器所基于的編程語言,您可以找到更具體的示例來遵循。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/414220.html
標籤:
上一篇:VSCode將圖示添加到活動欄
下一篇:type'Future<List<ChartSeries<BarChartModel,String>>>'不是型別'List<C
