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 クライアントが提供されています。
これらのエディタでも、このようなプログラミングサポート機能が利用できます。
1.2. racket-langserverとは
racket-langserver[2]はRacket言語専用の LSP です。racket-langserverは、Racket プログラミング時にコード補完やコードシンタックスチェックなどのプログラミングサポートを提供します。
1.3. Magic Racketとは
Magic Racket[3]は、Visual Studio Codeに対応するRacket LSPクライアントクライアントとしての役割を持つ拡張機能 (extension) です。
Racket LSP (racket-langserver) と連携して、プログラミングをサポートするさまざまな機能を提供します。
REPL[4]のサポートもあるため、選択した式やファイルを直接実行できます。
2. Racket LSPサーバーのインストール
Racket の LSP サーバーracket-langserverはパッケージで提供されています。これは、raco[5]というツールを使ってインストールします。
2.1. raco によるRacket LSPのインストール
以下のコマンドを使ってracket-langserverをインストールします。
-
raco pkgコマンドの実行:
以下のraco pkgコマンドを実行し、パッケージをインストールするraco pkg install --auto racket-langserver
コマンドラインに戻ればracket-langserverのインストールは完了です。
2.2. "racket-langserver"の実行
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...: . .
上記のようなエラーメッセージが出力された場合、これは言語サーバーが正常に動作していることを示しています。
3. Racket LSPクライアントのインストール
次に、VS CodeにRacket LSPのクライアントであるMagic Racket extensionをインストールします。
これにより、VS Code で Racket LSPのさまざまな機能が利用できます。
3.1. Magic Racketのインストール
次の手順で、Magic Racket extensionをインストールします。
以上の手順で、Magic Racketのインストールは完了です。
3.2. Magic Racketの設定
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