Editors for Clojure development
- syntax highlighting (colored parens can be useful too)
- structural editing to ensure parens are balanced when writing and refactor code
- running / connecting to a REPL process
- evaluation results inline or in a repl window (fast feedback on what the code does)
- data inspector / browser to visualise large and nested data (external tools available)
Emacs (Spacemacs), VSCode, Atom, Vim and IntelliJ are the most common Editors for Clojure and ClojureScript development. Install guides are provided for these editors.
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.
Spacemacs, Practicalli guides you through Clojure development, documenting with org-mode, Git version control with Magit, Vim editing modes and dozens of other features.
Neovim is a hyperextensible Vim-based text editor that is a drop-in replacement of Vim, implemented in less coded, fully compatible with Vim's editing model and Vimscript extension language. Neovim also allows configuration in Lua.
Conjure is an interactive environment for evaluating code within your running program, initially targeted at Lisp languages such as Clojure.
Install and user guides
Quick try tutorial
curl -fL conjure.fun/school | sh
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.
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.
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.