問題タブ [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.

0 投票する
1 に答える
59 参照

visual-studio-code - 拡張機能のサーバー部分をデバッガーにアタッチできません

言語サーバー拡張機能の構築に関するガイド ( https://code.visualstudio.com/docs/extensions/example-language-server ) に従っています。サーバー部分をデバッグするには、エディターから F5 キーを押すだけです。その中のサーバーコード。ただし、これを行うたびに次のようになります。

エラーがランタイム プロセスに接続できません (5000 ミリ秒後にタイムアウト)。

0 投票する
1 に答える
1818 参照

visual-studio-code - VSCode のセマンティック ハイライトを備えた言語サーバー

VSCodeセマンティック ハイライトをサポートする言語サーバーを作成したいと考えています。私が使用している言語には非常に複雑なルールがあるため、トークンナイザーに依存して識別子とキーワードを区別したくありません。

には既に言語サービスがありVS Community、そこで独自の分類子を作成しました。で独自の分類子を作成することは可能VSCodeですか、それともドキュメントを色付けする唯一の方法はTextMate言語仕様ファイルをVScodeパッケージに追加することですか?

0 投票する
2 に答える
5876 参照

typescript - VSCode で「Go To Definition」拡張機能を実装する方法

vscode-languageserver::IConnection複数のファイルに対して「定義へ移動」機能を提供するには、どのメソッドを実装する必要がありますか?

vscodeの「APIドキュメント」を勉強Language Server Node Exampleしていましたが、情報が見つかりませんでした。

0 投票する
1 に答える
513 参照

typescript - 言語サーバー側から rootPath (またはその他のクライアント側情報) を取得する方法は?

サンプルの「言語サーバー」( https://code.visualstudio.com/docs/extensions/example-language-server )に基づいて、言語拡張に取り組んでいます。

サーバー側では、vscode が使用する現在のフォルダーを知る必要があります。クライアント側では、次のように取得されます。

しかし、これをサーバー側で使おうとすると、

  1. TS コンパイラ エラーが発生します:エラー TS2307: モジュール 'vscode' が見つかりません
  2. クライアントが開始されると (クライアントで F5 を使用)、サーバーに接続できません (サーバーで F5 を使用)。

私のサーバーとクライアントの両方のpackage.jsonは次を指定します:

私の理解では、サーバーは IConnection オブジェクトを介してのみクライアントと通信するため、クライアント側で維持される vscode.* データにはアクセスできません。

サーバー側でこれを使用するための私の現在の回避策:

クライアント側のこのコード:

これを行うより良い方法はありますか?

0 投票する
2 に答える
1298 参照

visual-studio-code - 外部言語サーバーを VSCode 拡張機能に接続する

Language Server Protocolを使用する VSCode 拡張機能を実装したいのですが、サーバー コンポーネントを VSCode 拡張機能の一部ではなく、実際のサーバー (クラウド内) に配置したいと考えています。

WebSocket または HTTP 経由でサーバーに接続するようにクライアント拡張機能を設定できますか?

0 投票する
1 に答える
266 参照

server-side - Xtext Language Server は複数のクライアントをサポートできますか?

Xtext LSP サーバーを dls as a service として使用できますか? すべてのファイルがサーバー (リモートの場所) に保存され、異なるクライアントからの複数の接続を同時に処理する場所は?

はいの場合、これを実装する方法についての提案は非常に高く評価されます。

0 投票する
1 に答える
666 参照

node.js - VSCODE で LSP 言語サーバーを公開する方法

公式サイトを介して、拡張機能を公開するためのプロセス全体が非常によく文書化されています: vscode 公開拡張機能

私の疑問は、LSP のファイル構造が拡張機能のファイル構造とは異なるため、vscode で言語サーバー (LSP) を発行することです。つまり、拡張機能には Client しかありませんが、LSP CodeExtension codeのように、LSP には Client ディレクトリと server ディレクトリの両方があります。

とディレクトリでvsce publish別々に実行する必要がありますか?clientserver

hereのようにstackoverflowでさまざまな回答がありました。

どんな助けでも大歓迎です。

0 投票する
1 に答える
69 参照

language-server-protocol - 言語サーバー プロトコル: エディターの起動時に同期

LSP のクライアント側とサーバー側の両方を実装しています。

できるだけ厳密にプロトコルに従いたいと思います。

エディター (クライアント) を起動すると、ローカル コード ベースが現在どのように見えるかをサーバーに通知する必要があります (git sha と最新の共通祖先以降のいくつかの変更)。たとえば、go-to-definition です。

LSPでそれをどのように行いますか?

textDocument/didChange最新の共通祖先以降に変更されたドキュメントごとに送信できることはわかっています。

しかし、サーバーはどのようにして現在の git SHA をクライアントに送信し、クライアントはどのようにして最新の共通祖先をサーバーに送信できるのでしょうか? 私の知る限り、この情報は必要ですが、Langserver プロトコルの一部ではありません。

0 投票する
0 に答える
179 参照

spacemacs - spacemacsでcqueryを使用するにはどうすればよいですか

spacemacsでcqueryを使用する正規/堅牢な方法はありますか? 私は最近 vim から spacemacs に切り替えましたが、emacs/spacemacs の構成/カスタマイズにはまだあまり慣れていません。以前にvimでcqueryを使用しました。私のプロジェクトには compile_commands.json があります。

0 投票する
1 に答える
206 参照

language-server-protocol - Language Server Protocol の Trace 設定の意味は何ですか?

traceLanguage Server Protocolの設定が何をするのかを理解しようとしています。したがって、仕様によると:

初期トレース設定。省略された場合、トレースは無効になります ('off')。

しかし、それは私に多くを教えてくれません。InitializeParamsインターフェイス内に組み込まれています。

offテスト言語サーバーでローカルで試してみましたが、( 、messages、 )に値を入れてverboseも、実際には何も変わりません。

それは実際に何をしますか?