Visual Studio Code(VSCode)のAlive拡張機能を使ってSBCL(Steel Bank Common Lisp)の開発環境を構築する。
VSCodeでAliveという拡張機能を導入することで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のインストールと必要なライブラリのインストール
QuicklispはLISPのライブラリ管理システムでこれを使ってVScodeのAliveとの連動に必要なライブラリをインストールします。
()で囲まれたコマンドは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-lspはQuicklispのリポジトリに登録されていないので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 codeでLispのファイルを開いて(または作成して)それを実行します。
ここで注意すべき点はLispファイルの拡張子はlispとします。lspだとAliveはファイルをLispファイルとして認識しません。
S式実行のショートカットキー
option+ shift + Enter:カーソル上のS式をREPLに送信
option + shift + E:インライン評価
説明は以上となります。