Racket: Visual Studio CodeでのRacket LSPプログラミング環境の構築方法
tl;dr
-
racket-langserver
をインストール -
VS Code
にMagic Racket
をインストール -
Magic Racket
の設定
以上で、VS Code
で Racket LSP
が使えるようになります。
Enjoy!
1. はじめに
この記事では、LSP[1](Language Server Protocol)を用いて、Racket の効率的なプログラミング環境を構築する手順について説明します。
Racket
用の LSP であるRacket LSP
と、それをVisual Studio Code
で使用するための LSP クライアントMagic Racket
を組み合わせることで 、コード補完やコードの自動整形といったプログラミングサポート機能を利用できます。
1.1. LSPとは
LSP (Language Server Protocol) は、プログラミング効率向上のための標準的なインターフェイスです。
LSP が提供するプログラミングサポート機能には、コードの補完、構文のポップアップ表示、シンタックスハイライトなどがあります。
LSP は、これらの機能をプログラミング言語に依存しない方式で提供するためのプロトコルとして定義します。
そして、LSP に対応したエディタならば、上記のサポート機能が使えます。
この記事ではRacket LSP
をVisual Studio Code
で使用する方法を説明していますが、Vim
やemacs
のような他のエディタにも LSP クライアントが提供されています。
これらのエディタでも、このようなプログラミングサポート機能が利用できます。
racket-langserver
とは
1.2. racket-langserver
[2]はRacket
言語専用の LSP です。racket-langserver
は、Racket プログラミング時にコード補完やコードシンタックスチェックなどのプログラミングサポートを提供します。
Magic Racket
とは
1.3. Magic Racket
[3]は、Visual Studio Code
に対応するRacket LSP
クライアントクライアントとしての役割を持つ拡張機能 (extension
) です。
Racket LSP
(racket-langserver
) と連携して、プログラミングをサポートするさまざまな機能を提供します。
REPL
[4]のサポートもあるため、選択した式やファイルを直接実行できます。
Racket LSP
サーバーのインストール
2. Racket の LSP サーバーracket-langserver
はパッケージで提供されています。これは、raco
[5]というツールを使ってインストールします。
raco
によるRacket LSP
のインストール
2.1. 以下のコマンドを使ってracket-langserver
をインストールします。
-
raco pkg
コマンドの実行:
以下のraco pkg
コマンドを実行し、パッケージをインストールするraco pkg install --auto racket-langserver
コマンドラインに戻ればracket-langserver
のインストールは完了です。
racket-langserver
"の実行
2.2. "racket-langserver
を起動し、LSP コマンドを入力して正常に動作しているか確認します。
-
racket-langserver
の起動:
次のコマンドを実行し、racket-langserver
を起動するracket --lib racket-langserver
-
LSP
コマンドの実行:
racket-langserver
が起動して、コマンドの入力を待つ状態になったら、任意のLSP
コマンドを入力してCtrl+Z
キーで入力を終了するcontent-length: 24 { "method": "version" } #<EOF> ← `Ctrl+Z`キーで"<EOF>"を入力
-
エラーメッセージの確認:
上記のコマンドの実行結果として、下記のようなエラーメッセージが出ることを確認するjsexpr->string: expected argument of type <legal JSON value>; given: #<eof> context...: . .
上記のようなエラーメッセージが出力された場合、これは言語サーバーが正常に動作していることを示しています。
Racket LSP
クライアントのインストール
3. 次に、VS Code
にRacket LSP
のクライアントであるMagic Racket extension
をインストールします。
これにより、VS Code
で Racket LSP
のさまざまな機能が利用できます。
Magic Racket
のインストール
3.1. 次の手順で、Magic Racket extension
をインストールします。
以上の手順で、Magic Racket
のインストールは完了です。
Magic Racket
の設定
3.2. Magic Racket
では、Racket の実行パス、言語サーバーを実行するための引数などを設定できます。
ただし、racket-langserver
が正常に動作していれば、設定の変更は必要ありません。
Magic Racket
の設定方法は、次の通りです。
-
VS Code
の左側のメニューから拡張機能
を選択する:
-
Magic Racket
を選択する:
-
[拡張機能の設定]を選択して設定ウィンドウを開く:
-
必要に応じて、各種項目を設定する:
以上で、設定の変更は完了です。
さいごに
以上で、Visual Studio Code
+Racket LSP
による Racket開発環境が構築できました。
Magic Racket
を導入することで、プログラミングのサポートがさらに強化され、効率的な Racket プログラミングが可能となります。
これからは、Racket LSP を活用して、より効率的なプログラミングを行なうことができます。
それでは、Happy Hacking!
参考資料
Webサイト
-
LSP: 各種プログラミング言語に依存しないで、プログラミングをサポートする機能を提供するための共通のインターフェイスプロトコル。 ↩︎
-
racket-langserver
: Racket 用の LSP。これにより、コード補完やシンタックスチェックなどのプログラミングサポートが可能になる。 ↩︎ -
Magic Racket
:Visual Studio Code
用のRacket LSP
クライアント。Racket プログラミング時に、Racket LSP
サーバーと連携してプログラミングをサポートする機能を提供する。 ↩︎ -
REPL
(Read
-Eval
-Print
-Loop
): 対話的なプログラミングインターフェイスで、入力したプログラムを実際に評価して返す。Racket で実行したい式やコードをREPL
に入力することで、その結果を即座に確認できる。 ↩︎ -
raco
: Racket言語の開発支援ツール。パッケージ管理やプログラムのコンパイル/テストなどを行なう。 ↩︎
Discussion