言語サーバー・プロトコル

GraalVMでは、ゲスト言語用の言語サーバー・プロトコル(LSP)がサポートされています。これにより、コード補完、使用方法の検索、クライアント・ツール(Visual StudioコードなどのIDE)のような機能が提供されます。

GraalVM言語サーバーを起動するには、Node.jsアプリケーションを使用した次の例のように、--lspオプションをコマンドライン・ランチャに渡します。

ノート: GraalVM言語サーバーはテクノロジ・プレビューとして提供されており、アクティブ化するには、ユーザーは--experimental-optionsオプションを渡す必要があります。

$JAVA_HOME/bin/node --experimental-options --lsp app.js
[Graal LSP] Starting server and listening on localhost/127.0.0.1:8123
Example app listening on port 3000!

Node.jsポリグロット・アプリケーションの一部である、GraalVM Enterpriseが提供するRスクリプト用のコード補完

通常はアプリケーション・ソースの解析によって収集される静的データがGraalVM言語サーバー自体によって提供されることはありません(これらのデータは動的言語の場合にあいまいになることがあるため)。かわりに、言語サーバーは、アプリケーション・ランタイムから収集される正確な動的データを提供するように設計されています。

ただし、言語サーバーでは、(--lsp.Delegatesランチャ・オプションを使用して)特定の言語専用に記述された既存の言語サーバーに委任し、これらのサーバーから返される静的データを独自の動的データと単一の結果にマージできます。

GraalVM言語サーバーおよびGraalVM Visual Studio Code拡張機能でのその使用方法の詳細は、Visual Studio Code Marketplaceのドキュメントを参照してください。