問題タブ [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.
visual-studio-code - 拡張機能のサーバー部分をデバッガーにアタッチできません
言語サーバー拡張機能の構築に関するガイド ( https://code.visualstudio.com/docs/extensions/example-language-server ) に従っています。サーバー部分をデバッグするには、エディターから F5 キーを押すだけです。その中のサーバーコード。ただし、これを行うたびに次のようになります。
エラーがランタイム プロセスに接続できません (5000 ミリ秒後にタイムアウト)。
visual-studio-code - VSCode のセマンティック ハイライトを備えた言語サーバー
VSCode
セマンティック ハイライトをサポートする言語サーバーを作成したいと考えています。私が使用している言語には非常に複雑なルールがあるため、トークンナイザーに依存して識別子とキーワードを区別したくありません。
には既に言語サービスがありVS Community
、そこで独自の分類子を作成しました。で独自の分類子を作成することは可能VSCode
ですか、それともドキュメントを色付けする唯一の方法はTextMate
言語仕様ファイルをVScode
パッケージに追加することですか?
typescript - VSCode で「Go To Definition」拡張機能を実装する方法
vscode-languageserver::IConnection
複数のファイルに対して「定義へ移動」機能を提供するには、どのメソッドを実装する必要がありますか?
vscodeの「APIドキュメント」を勉強Language Server Node Example
していましたが、情報が見つかりませんでした。
typescript - 言語サーバー側から rootPath (またはその他のクライアント側情報) を取得する方法は?
サンプルの「言語サーバー」( https://code.visualstudio.com/docs/extensions/example-language-server )に基づいて、言語拡張に取り組んでいます。
サーバー側では、vscode が使用する現在のフォルダーを知る必要があります。クライアント側では、次のように取得されます。
しかし、これをサーバー側で使おうとすると、
- TS コンパイラ エラーが発生します:エラー TS2307: モジュール 'vscode' が見つかりません
- クライアントが開始されると (クライアントで F5 を使用)、サーバーに接続できません (サーバーで F5 を使用)。
私のサーバーとクライアントの両方のpackage.jsonは次を指定します:
私の理解では、サーバーは IConnection オブジェクトを介してのみクライアントと通信するため、クライアント側で維持される vscode.* データにはアクセスできません。
サーバー側でこれを使用するための私の現在の回避策:
クライアント側のこのコード:
これを行うより良い方法はありますか?
visual-studio-code - 外部言語サーバーを VSCode 拡張機能に接続する
Language Server Protocolを使用する VSCode 拡張機能を実装したいのですが、サーバー コンポーネントを VSCode 拡張機能の一部ではなく、実際のサーバー (クラウド内) に配置したいと考えています。
WebSocket または HTTP 経由でサーバーに接続するようにクライアント拡張機能を設定できますか?
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 プロトコルの一部ではありません。
spacemacs - spacemacsでcqueryを使用するにはどうすればよいですか
spacemacsでcqueryを使用する正規/堅牢な方法はありますか? 私は最近 vim から spacemacs に切り替えましたが、emacs/spacemacs の構成/カスタマイズにはまだあまり慣れていません。以前にvimでcqueryを使用しました。私のプロジェクトには compile_commands.json があります。
language-server-protocol - Language Server Protocol の Trace 設定の意味は何ですか?
trace
Language Server Protocolの設定が何をするのかを理解しようとしています。したがって、仕様によると:
初期トレース設定。省略された場合、トレースは無効になります ('off')。
しかし、それは私に多くを教えてくれません。InitializeParams
インターフェイス内に組み込まれています。
off
テスト言語サーバーでローカルで試してみましたが、( 、messages
、 )に値を入れてverbose
も、実際には何も変わりません。
それは実際に何をしますか?