UbuntuにおけるVSCodeのCommon Lisp設定その2

今度はVSCodeの前回とは別のCommon Lisp拡張である Alive - Visual Studio Marketplace を使ってみる。

前回のは現状インストール数6kくらいなのに対してこれはインストール数600くらいで少ないが、Using VSCode with Alive を見るかぎり機能的にはこちらの方が豊富そうに見える。

動作確認したバージョン

  • Ubuntu : 20.04
  • roswell : 21.06.14.110(c0bc597)
  • sbcl : 2.1.9
  • VSCode : 1.61.2
  • Alive : 0.2.4

インストール

  1. VSCode を開く
  2. Ctrl + P
  3. ext install rheller.alive

シンタックスハイライト

発展途上の機能らしく、キーワードシンボル等をハイライトしない。

f:id:gos-k:20211024134656p:plain

Roswellの設定

settings.jsonにREPLでRoswellを起動する設定をする。

    "alive.swank.startupCommand": [
        "ros",
        "run",
        "--system",
        "swank",
        "--eval",
        "(swank:create-server)"
    ],

REPL起動

  1. lispファイルを開く
  2. Ctrl + Shift + P
  3. Alive: Start REPL And Attach を選ぶ

これで画面が分割されREPLが起動する。 他のAlive関連コマンドで結構ショートカットキーがあるのにこれはなんでないんだろうか?

f:id:gos-k:20211024140259p:plain

何も式を入力せずにEnter押すと、CL-USER>が評価されてデバッガに突入する。

f:id:gos-k:20211024141639p:plain

他のテキストエディタだとRestertsの選択肢を数字のキー入力で選択できるが、Aliveの場合はクリックしないとダメらしい。

式の評価自体は普通にキー入力で行われる。

CL-USER> (+ 1 1)

Enter で評価される。

(+ 1 1)
2

CL-USER>

Qlotを使う場合

Qlotを使う場合はsettings.jsonを書き換える。

    "alive.swank.startupCommand": [
        "qlot",
        "exec",
        "ros",
        "run",
        "--system",
        "swank",
        "--eval",
        "(swank:create-server)"
    ]

単独のrosと使い分けたいから、設定変えるだけじゃなくて本体に何か手を入れ他方がいいか。

その他

F12 でカーソル位置のシンボル定義に飛べたり色々便利機能の実装もある。

一つ困るのが、REPLを使っていて数千行とか増えていくと徐々に動作が遅くなっていく。 これはたまにREPL上の全てを選択して削除すると元の早さに戻る。