The main reason you would choose Calva for your Clojure and/or ClojureScript coding is that you want to use Visual Studio Code. Calva provides VS Code users with a comprehensive set of features to keep you productive and make it easy to follow Clojure coding best practices. This also means that if your choice of editor is not made yet, we think you should give VS Code and Calva a try.
While Calva is a good choice for professional and experienced Clojure developers, great care has been taken in making Calva a really good choice for beginners of Clojure as well.
We who make Calva are actively stewarding, maintaining, documenting and supporting it. We are also very active Clojure (and Calva) users, participating in the community. Clojure is dear to us, a lot because it keeps programming fun and rewarding.
Calva has very happy users! Check out the Programming Languages section on the Visual Studio Code Marketplace, sorted by rating:
Recently there was a thread over at ClojureVerse, asking about how Calva Compares to Emacs with CIDER. It is well worth reading. We would like to highlight the answer by Nick Cernis, which focuses on Calva. We'll even quote parts of it. 😍
Nick Cernis on ClojureVerse
My advice to anyone starting their Clojure journey who is unsure about what editor to use:
- Pick something today and start writing Clojure.
- Probably pick an editor you are familiar with already.
- If you’re not familiar with any editor yet or you don’t have a strong allegiance to one, choose VS Code and Calva.
- Switch to something else only if you encounter persistent annoyances that you can’t remove with plugins, code/config changes, help from the community, or more sleep.
I now use VS Code with Calva every day but went through a long journey trying almost every other editor and plugin combo first. I switched from Emacs to VS Code, which might make my perspective different to others here.
I started with the jaded assumption that VS Code was probably bad because it's built by committee at Microsoft on a web-tech based Electron stack, only to find that it succeeds in embodying the spirit of a “hacker's editor” more than even Emacs does in many ways:
On the benefits of Calva:
Of all the amazing Clojure community projects, Calva seems most likely to encourage new users to try Clojure and ClojureScript. A lot of developers use VS Code. It’s been tricky to convince frontend developer friends to try ClojureScript, but at least they don’t have the excuse that they’ll need to switch editors to even try it now. I think as a community we should try to support the projects that encourage Clojure’s adoption and ease of use, including by using those products ourselves.
Calva provides a better first-time experience than any other editor/plugin combo whether you’re new to Clojure or not. You can install the plugin and be chatting with your REPL in under a minute without any knowledge of Elisp or VimScript/Lua or how to configure Run Configurations in IntelliJ.
- The default key bindings are good and the commands are easily discoverable.
- For its age it’s surprisingly feature rich.
100% Five-star Marketplace Reviews
We are super proud of the Calva reviews on the Visual Studio Code Marketplace. Please read them all. 😄 Here's a selection that we think captures what we focus on in when developing Calva:
★️️️️️★️️️️️★️️️️️★️️️️️★️️️️️ Calva has become an essential part of my Clojure workflow.
It's an incredible piece of work by the team behind it.
★️️️️️★️️️️️★️️️️️★️️️️️★️️️️️ Calva hits the sweet spot of being both approachable for new users and powerful for seasoned ones.
The creators/maintainers are fantastic individuals that care deeply about streamlining the user experience, and it shows.
Good stuff, check it out.
★️️️️️★️️️️️★️️️️️★️️️️️★️️️️️ I switched from IntelliJ / Cursive to VS Code and Calva and it's been amazing.
That is the biggest thing I can say for Calva, it just works. I was never a fan of VS Code before, but VS Code + Calva for Clojure is now my favorite language / IDE experience.
Plus, the #calva on the clojurians slack is brilliant, always someone there to help if you have issues (although any issue I've had has been squarely on me, and never Calva itself).
I often feel we live in an age where so much software is badly written, without care, slow, buggy and just generally awful. Calva is the complete opposite. I think the maintainers want to, and have, made a wonderful piece of software for Clojure developers.
★️️️️️★️️️️️★️️️️️★️️️️️★️️️️️ This is great, and makes VS Code a truly viable IDE/editor for clojure development.
It already has great REPL support (including inline evaluation), an extensive Paredit implementation, and excellent linting (care of the bundled clj-kondo). Calva is being improved on at an impressive clip by maintainers who appear solidly committed to its ongoing development. It's well-documented, and manages to be both approachable and capable.
A no-brainer if you're already a VS Code user, and well worth a look if you're not.
★️️️️️★️️️️️★️️️️️★️️️️️★️️️️️ I'm using Calva now for a few months and I'm loving it.
I joined the Slack channel about 2 wks ago and I must say that I'm very impressed by how active and responsive this community is. Already 2 of my issues fixed and I really like Calva (and the extensions it uses!).
These are professional people and they make me very happy!
Uitbeijerse, E (Eric)