問題タブ [language-server-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
server-side - Xtext Language Server は複数のクライアントをサポートできますか?
Xtext LSP サーバーを dls as a service として使用できますか? すべてのファイルがサーバー (リモートの場所) に保存され、異なるクライアントからの複数の接続を同時に処理する場所は?
はいの場合、これを実装する方法についての提案は非常に高く評価されます。
node.js - VSCODE で LSP 言語サーバーを公開する方法
公式サイトを介して、拡張機能を公開するためのプロセス全体が非常によく文書化されています: vscode 公開拡張機能
私の疑問は、LSP のファイル構造が拡張機能のファイル構造とは異なるため、vscode で言語サーバー (LSP) を発行することです。つまり、拡張機能には Client しかありませんが、LSP CodeとExtension codeのように、LSP には Client ディレクトリと server ディレクトリの両方があります。
とディレクトリでvsce publish
別々に実行する必要がありますか?client
server
hereのようにstackoverflowでさまざまな回答がありました。
どんな助けでも大歓迎です。
language-server-protocol - 言語サーバー プロトコル: エディターの起動時に同期
LSP のクライアント側とサーバー側の両方を実装しています。
できるだけ厳密にプロトコルに従いたいと思います。
エディター (クライアント) を起動すると、ローカル コード ベースが現在どのように見えるかをサーバーに通知する必要があります (git sha と最新の共通祖先以降のいくつかの変更)。たとえば、go-to-definition です。
LSPでそれをどのように行いますか?
textDocument/didChange
最新の共通祖先以降に変更されたドキュメントごとに送信できることはわかっています。
しかし、サーバーはどのようにして現在の git SHA をクライアントに送信し、クライアントはどのようにして最新の共通祖先をサーバーに送信できるのでしょうか? 私の知る限り、この情報は必要ですが、Langserver プロトコルの一部ではありません。