問題タブ [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 経由でサーバーに接続するようにクライアント拡張機能を設定できますか?