How Calva gives VS Code a real Clojure workflow, when jack-in is the right default, and what Java developers should watch for.
Visual Studio Code with Calva is a strong option when you want a lighter editor than IntelliJ but still want a real Clojure workflow instead of just syntax coloring. The key point is that Calva is not merely a language plugin. It is a REPL-oriented development layer for VS Code.
The official Calva docs center everything around connection to a running REPL. That is the correct emphasis. In Clojure, the editor is useful because it is connected to a live process, not because it can color brackets.
Calva gives you:
For Java developers who already like VS Code, that makes Calva the main thing you need to turn the editor into a serious Clojure environment.
The official docs recommend jack-in, and that is the right default. Calva uses the project REPL connection not only for evaluation, but also for IDE behavior that depends on runtime knowledge of the project.
The docs also make clear that jack-in supports both CLJ and CLJS, with built-in configurations for projects using Leiningen, deps.edn, shadow-cljs, and Gradle.
That matters because a Java developer should not waste early time manually reconstructing the REPL command line if the editor can do it correctly for you.
A practical baseline workflow is:
Calva: Start a Project REPL and Connect (aka Jack-in)One of Calva’s more practical documentation notes is easy to miss: if your environment variables live in shell startup files, VS Code may need to be launched from a shell that already has those variables defined.
For Java developers, this often shows up as:
clojure, bb, or node not being foundIf jack-in behaves strangely, check the environment before blaming Calva itself.
Calva is strongest when you want:
It is especially attractive for developers who already work in VS Code for TypeScript, Python, Go, or Terraform and want to keep one editor without giving up the REPL.
The biggest mistake Java engineers make with Calva is treating it like a plain text editor plus extension bundle. It works best when you actively use the REPL.
That means learning habits such as:
If you do not use those habits, you will get only a fraction of what Calva offers.
Choose Calva when you want a modern, lighter editor and you are comfortable relying on the REPL as the center of development. If you want the deepest Java-IDE feel, Cursive is usually stronger. If you want maximum editor programmability, Emacs may win. Calva sits in the middle and is often the best compromise.