Fork me on GitHub

any extension recommendations for Emacs-like keyboard shortcuts in VSCode?


this appears to be the most maintained one though

❤️ 5

thanks for the recommendations! I’ll try out the “awesome” one

partywombat 2

Not sure if this is a calva or a VSCode question but typically processes in the integrated terminal are killed when closing the VSCode window on macos. I had several instances of REPL processes lingering after I closed VSCode. • am I doing something wrong? • is this something I deal with manually? • is this an issue with VSCode or Calva than can be resolved?


It could be the feature where VS Code detaches and reattaches terminal sessions when closing and reopening a workspace. There might be a setting to disable this. And maybe Calva should have a way to deal with it. To manually kill the jack-in process, press ctrl+c in the jack-in terminal.

👍 2

Only as a data point, just stumbled upon this SO question that seems relevant here:


Thanks, @U2FRKM4TW! I don't undertand why I miss these. I subscribe to them! 😃

👍 1

To clarify I typically use the Jack-In command to start a REPL


and just a deps.edn for most of what I do, no other dependecy/build tools or anything like that


I wish there was a command to kill the repl, sometimes I just want to shut it down


If you started the REPL with Calva, you can jack in again. It will kill the REPL and start it anew. However, if you often have the need to kill the REPL, you might benefit from asking why.


If you started the REPL with Calva, you can press ctrl+c in the jack-in terminal.


System exit works too. 😃


I prefer to run the repl process in a terminal and therefore it's easy to stop or restart the repl regardless of editor. Calva can then connect to this external repl process. If the editor has to restart, it does not affect the running repl process. Therefore it's a more robust approach It's a shame this approach is described in less than positive terms in the Calva docs.


Jack-in adds a few libraries to the command that it calls to start an external repl process and connect. This is the same command, i.e. lein or clojure, that you would run in a terminal. For Leiningen you would add those libraries to the dev profile. For Clojure CLI you would use an alias.


Leiningen already starts nRepl, so the clder-nrepl library is required to allow cider-based editors (Cider, Calva, Conjure) to communicate with the nRepl server. For Clojure CLI, nRepl and cider-nrepl should be added, which I have in several aliases to start the Repl with additional tools such as visual data browsers


To support starting the REPL process in a terminal, Calva has a command for copying the jack-in command line to clipboard. However, VS Code has neer needed a restart for as long as I have been using it. And also it keeps your terminal sessions between restarts anyway.