👾

VSCodeでCommonLispの開発環境を整える

2024/02/12に公開

はじめに

Common Lispの開発環境といえば、Emacs+SLIMEが有名です。
しかし、VSCode全盛の時代、Emacsを使うのはちょっと抵抗があるという方も多いのではないでしょうか。
そこで、VSCodeでCommon Lispの開発環境を整える方法をまとめてみました。
(VSCodeの拡張機能 Alive がとても便利だったと言う話)

前提条件

  • VSCodeがインストールされていること
  • 処理系はSBCL

インストール

SBCL

私の環境はMacなので、Homebrewでインストールします。

brew install sbcl

その他のインストール方法は、公式サイトを参照してください。
https://www.sbcl.org/getting.html

Quicklisp

QuicklispはCommon Lispのパッケージマネージャです。
今回使うVSCodeの拡張機能 Alive はLispの外部パッケージを使うため、Quicklispをインストールします。

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

(ql:add-to-init-file) は、Quicklispを起動時に自動で読み込むようにするための設定です。

Alive

VSCodeの拡張機能 Alive をインストールします。
https://marketplace.visualstudio.com/items?itemName=rheller.alive

以上で事前準備は完了です。

使い方

プロジェクトの作成

新しいフォルダを作成し、その中に main.lisp を作成します。
このフォルダをVSCodeで開きます。

正しくインストールされていると、次のような画面が表示されます。
Alive
いかにも環境が整っている感じがしますね。

便利機能

インライン評価

Option + Shift + E
カーソルを合わせた部分を評価することができます。
Evaluate a statement in-line

対話環境で評価

Option + Shift + Enter
カーソルを合わせた部分を対話環境で評価することができます。
Evaluate a statement in the REPL

コンパイル

Command Palette から Alive: Compile を選択
ファイル全体をコンパイルすることができます。

その他

  • シンタックスハイライト
  • コード補完
  • コードフォーマッター
  • 定義へジャンプ
  • スニペット
  • REPL統合
  • インタラクティブデバッガー
  • REPL履歴
  • マクロ展開
  • ディスアセンブル
  • インスペクター
  • ホバーテキスト
  • 関数の引数とlet束縛の名前変更
  • コード折りたたみ

参考文献

https://lispcookbook.github.io/cl-cookbook/vscode-alive.html

Discussion