-
-
Notifications
You must be signed in to change notification settings - Fork 219
Getting Started
Mostly Calva just works, but there are still some things to know beforehand. One good thing to know is that all commands and settings are of the category Calva
, so bringing up the VSCode's list of commands and/or settings and searching for ”Calva” will take you a long way.
See Connecting To a Running REPL Server.
Don't like my defaults? I just started a new page about customising things (work in progress).
The extension comes with autolinting disabled. This is because you will need to have Joker installed in order for it to work. You will probably want to have Joker installed regardless so, just do it and then enable autolinting by setting:
"calva.lintOnSave": true
The Joker way of linting has its limitations. If you think the linting reporting is off, it is probably something you should check with the Joker project.
That said, this one might be worth a mention here:
One thing to note with this linter is that it doesn't do a full scan of all files and does not recognize macros it doesn't know about. Leading to false complaints about Unable to resolve symbol x
. You might now and then tell it about macros you use. Create a .joker
file somewhere in the path from the root of your project to where you are using the macro (the project root might be the best choice), and add:
{:known-macros [some-ns/some-macro some-other-ns/some-other-macro]}
Read more about Joker's linter mode here: https://github.com/candid82/joker#linter-mode
See Using with WSL
Calva works nicely together with Paredit. Make sure you use the maintained version. We call it Paredit Revived.
However, Parinfer clashes with the auto adjustment of the indents feature. Therefore Calva provides a command for toggling the auto adjustment off and on (ctrl+alt+v tab
), just like Parinfer has commands for enabling and disabling its assistance.
Consider these settings for keeping auto adjust of indents on:
"parinfer.defaultMode": "disabled",
"calva.autoAdjustIndent": true,
Switch them around if you prefer to default to Parinfer on. We'll be looking for a solution to this problem.