Visual Studio Code(VSCode)のAlive拡張機能を使ってSBCL(Steel Bank Common Lisp)の開発環境を構築する。

2024年11月12日

VSCodeAliveという拡張機能を導入することでSBCL(Steel Bank Common Lisp)の開発環境が構築できるようなのでそれを試してみました。Aliveを使うことでVSCodeから直接Lispコードを実行可能になります。ショートカットキーを利用してREPLに式を送信することが可能になります。環境を構築する順番はHomebrewを用いたSBCLのインストール、Quicklispのインストールと必要ライブラリ(alive-lsp、他)の導入、Aliveのインストール、VSCodeへのAlive拡張機能の設定となります。

なお以下のコマンド操作はホームディレクトリにて行いました。


SBCLのインストール

sbclのインストールはHomebrewで行います。

$ brew install sbcl
$ sbcl --version

 

Quicklispのインストールと必要なライブラリのインストール

QuicklispLISPのライブラリ管理システムでこれを使ってVScodeAliveとの連動に必要なライブラリをインストールします。
()で囲まれたコマンドはSBCL上で実行するコマンドです。

Quicklisp本体のインストール

$ curl -O https://beta.quicklisp.org/quicklisp.lisp
$ sbcl --load quicklisp.lisp
(quicklisp-quickstart:install)
(ql:add-to-init-file)

続いてAliveとの通信に必要なライブラリ群を上記でインストールしたQuicklispを使ってインストールします。
(ql:quickload "bordeaux-threads")
(ql:quickload "usocket")
(ql:quickload "cl-json")
(ql:quickload "flexi-streams")

最後にalive-lspのインストールを行います。alive-lspQuicklispのリポジトリに登録されていないのでgitを使って本体をコピーします。

$ git clone https://github.com/nobody-famous/alive-lsp.git ~/quicklisp/local-projects/alive-lsp

VSCodeを起動してAliveをインストールする

VSCodeを起動して拡張機能を開き、検索からAliveと入力します。Aliveが表示されるのでインストールします。

続いてコマンドバレットからsettings.jsonを開いて以下のコードを追加します。

 
    "alive.lsp.startCommand": [
        "sbcl",
        "--eval",
        "(require :asdf)",
        "--eval",
        "(asdf:load-system :alive-lsp)",
        "--eval",
        "(alive/server:start)"
    ],

VSCodeからSBCLを使う

VS codeLispのファイルを開いて(または作成して)それを実行します。
ここで注意すべき点Lispファイル拡張子lispとします。lspだとAliveはファイルをLispファイルとして認識しません。

S式実行のショートカットキー

option+ shift + Enter:カーソル上のS式をREPLに送信
option + shift + E:インライン評価

 

説明は以上となります。