An integrated, REPL-powered development environment for Clojure and ClojureScript in Visual Studio Code.
Calva is a feature-rich IDE extension for Visual Studio Code that provides integrated, REPL-powered development for Clojure and ClojureScript. It solves the problem of fragmented tooling by offering inline evaluation, structural editing, debugging, linting, and test running all within a familiar editor environment.
Clojure and ClojureScript developers who use Visual Studio Code and want a cohesive, productive development experience without switching to a different IDE.
Developers choose Calva for its deep integration with VS Code, comprehensive feature set inspired by CIDER, and focus on making Clojure accessible to newcomers while remaining powerful for experts.
Clojure & ClojureScript Interactive Programming for VS Code
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Execute Clojure and ClojureScript code snippets directly in VS Code with immediate feedback, enabling interactive development and rapid prototyping as shown in the demo gifs.
Implements Paredit for precise navigation and manipulation of balanced parentheses, making Clojure code editing intuitive and reducing errors, with visual guides and rainbow brackets.
Provides a built-in debugger for stepping through code and a test runner for managing suites within the editor, streamlining debugging and testing workflows.
Leverages clojure-lsp for static analysis features like go-to-definition, find references, and rename symbol, enhancing code navigation and refactoring capabilities.
Supports various build tools like deps, Leiningen, and shadow-cljs, allowing seamless REPL connections and switching between Clojure/ClojureScript sessions, especially for .cljc files.
For Boot projects, Calva only supports Connect scenarios without Jack-in functionality, which can hinder seamless integration and REPL startup for teams using Boot.
Features like rich result display were removed due to high memory usage, indicating potential performance concerns in memory-intensive scenarios or with large codebases.
The documentation includes a 'Quirks' section, suggesting users may encounter unexpected behaviors or need workarounds, which can add friction to the development experience.
Calva collects usage data by default, which might raise privacy concerns for some developers, though it can be disabled in settings.