Clojure development environment guides
Emacs (Spacemacs), VSCode, Atom, Vim and IntelliJ are the most common Editors / IDE’s for Clojure and ClojureScript development.
Use the editor you are most familiar with, or if just starting to code then VSCode and Calva is a good choice.
Install guides are provided for all these editors.
{% tabs vscode=”VSCode & Calva”, spacemacs=”Emacs & Spacemacs”, vim=”NeoVim & Conjure”, atom=”Atom & Chlorine”, intellij=”IntelliJ & Cursive” %}
{% content “vscode” %} Use VSCode and Calva if you are familiar with VSCode or have no editor preference.
Calva is inspired by CIDER, the most popular Clojure environment for Emacs. Calva is a very active project and the #calva channel on the Clojurians Slack community is very supportive.
{% content “spacemacs” %} Spacemacs is a community configuration bringing Emacs and Vim together. Spacemacs uses a mnemonic menu system that makes it easy to learn.
Spacemacs, Practicalli guides you through Clojure development, documenting with org-mode, Git version control with Magit, Vim editing modes and dozens of other features.
{% content “vim”%} Conjure is a plugin for Neovim
- Conjure install guide
- Conjuring Clojure in Vim - an introduction to using Conjure
{% content “atom” %}
Atom.io is flexible and simple to use editor. Chlorine is the recommended plugin for Atom.io. ProtoREPL is not actively maintained at present. The Chlorine plugin for Atom is especially recommended for ClojureScript shadow-cljs projects.
Chlorine
ProtoREPL
Proton - alternative menu and configuration approach
Proton offers a simple mnemonic menu as an alternative to the multiple keys for shortcuts in Atom.io. Proton also gives you a simple text configuration to manage all your packages quickly. Unfortunately Proton is not complete replacement of all actions.
{% content “intellij” %} Developers from a Java background are usually familar with IDE’s such as IntelliJ, so Cursive IDE for IntelliJ may be an appropriate choice. Cursive uses the static analysis of Clojure code as well as a REPL.
Hint::Requires license for commercial development
There is a free license when development is not for commercial projects, however, a license must be purchased for each developer working on a commercial project.
{% endtabs %}