Skip to content
| Marketplace
Sign in
Visual Studio Code>Extension Packs>Clojure Extension Pack for VscodeNew to Visual Studio Code? Get it now.
Clojure Extension Pack for Vscode

Clojure Extension Pack for Vscode

templ-project

| (0) | Free
Essential Clojure & ClojureScript development environment for VSCode - comprehensive REPL-driven development tooling
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Clojure Extension Pack for Vscode

Essential Clojure & ClojureScript development environment for VSCode - comprehensive REPL-driven development tooling

📦 What's Included

This extension pack includes 5 carefully selected extensions to enhance your clojure development experience in vscode.

✅ Core Extensions (2)

These extensions are essential for clojure development:

  • Calva - Clojure & ClojureScript Interactive Programming
  • Clojure LSP - Language Server Protocol support for Clojure

💡 Additional Extensions (3)

These extensions provide extra functionality and convenience:

  • Parinfer - Simplifies Lisp parentheses editing
  • Rainbow Brackets - Colorizes matching brackets
  • Clojure Snippets - Code snippets for Clojure

🚀 Installation

Method 1: Install from Marketplace

  1. Open Vscode
  2. Go to Extensions view (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "Clojure Extension Pack for Vscode"
  4. Click "Install"

Method 2: Install via Command Line

code --install-extension @templ-project/clojure-extension-pack

Method 3: Install from VSIX

  1. Download the latest .vsix file from Releases
  2. Open Vscode
  3. Run Extensions: Install from VSIX... command
  4. Select the downloaded file

⚙️ Configuration

After installation, you may want to configure some settings for optimal clojure development:

calva.autoConnectRepl

{
  "calva.autoConnectRepl": true
}

Automatically connect to REPL when project is opened

calva.connectSequence

{
  "calva.connectSequence": "ask"
}

How to select connect sequence (ask, default, or custom name)

calva.paredit.defaultKeyMap

{
  "calva.paredit.defaultKeyMap": "original"
}

Default Paredit key bindings (original, strict, or none)

calva.paredit.hijackVSCodeDefaults

{
  "calva.paredit.hijackVSCodeDefaults": true
}

Let Paredit override some default VS Code keybindings for better structural editing

calva.fmt.formatOnSave

{
  "calva.fmt.formatOnSave": true
}

Format Clojure code on save

calva.fmt.align

{
  "calva.fmt.align": true
}

Align map values and function arguments

calva.fmt.indents

{
  "calva.fmt.indents": {}
}

Custom indentation rules for specific forms

calva.fmt.newIndentEngine

{
  "calva.fmt.newIndentEngine": true
}

Use the new indentation engine for better formatting

calva.evalOnSave

{
  "calva.evalOnSave": false
}

Automatically evaluate file on save

calva.showDocstringInParameterHelp

{
  "calva.showDocstringInParameterHelp": true
}

Show function docstrings in parameter hints

calva.autoOpenREPLWindow

{
  "calva.autoOpenREPLWindow": true
}

Automatically open REPL window when connecting

calva.prettyPrintingOptions

{
  "calva.prettyPrintingOptions": {"enabled":true,"printEngine":"pprint","width":80}
}

Pretty printing configuration for REPL output

calva.referencesCodeLens.enabled

{
  "calva.referencesCodeLens.enabled": true
}

Show references code lens above symbols

calva.enableJSCompletions

{
  "calva.enableJSCompletions": true
}

Enable JavaScript completions in ClojureScript files

calva.jackInEnv

{
  "calva.jackInEnv": {}
}

Environment variables for jack-in process

calva.customREPLCommandSnippets

{
  "calva.customREPLCommandSnippets": []
}

Custom REPL command snippets

clojure-lsp.enable

{
  "clojure-lsp.enable": true
}

Enable clojure-lsp integration

clojure-lsp.server-path

{
  "clojure-lsp.server-path": ""
}

Path to clojure-lsp executable (empty = use bundled)

clojure-lsp.trace.server

{
  "clojure-lsp.trace.server": "off"
}

Trace communication between VS Code and clojure-lsp (off, messages, verbose)

clojure-lsp.semantic-tokens?

{
  "clojure-lsp.semantic-tokens?": true
}

Enable semantic tokens for better syntax highlighting

clojure-lsp.clean.ns.on-save?

{
  "clojure-lsp.clean.ns.on-save?": true
}

Clean namespace form on save (remove unused requires, sort)

clojure-lsp.use-source-paths-from-classpath?

{
  "clojure-lsp.use-source-paths-from-classpath?": true
}

Use source paths from classpath for analysis

clojure-lsp.lens.enable?

{
  "clojure-lsp.lens.enable?": true
}

Enable code lenses

clojure-lsp.lens.show-references?

{
  "clojure-lsp.lens.show-references?": true
}

Show references code lens

[clojure]

{
  "[clojure]": {"editor.defaultFormatter":"betterthantomorrow.calva","editor.formatOnSave":true,"editor.autoClosingBrackets":"never","editor.autoClosingQuotes":"never","editor.autoIndent":"full","editor.parameterHints.enabled":true,"editor.quickSuggestions":{"other":true,"comments":false,"strings":true},"editor.wordSeparators":"`()[]{}\",'","editor.rulers":[80,100],"editor.semanticHighlighting.enabled":true}
}

Editor configuration for Clojure files

[clojurescript]

{
  "[clojurescript]": {"editor.defaultFormatter":"betterthantomorrow.calva","editor.formatOnSave":true,"editor.autoClosingBrackets":"never","editor.autoClosingQuotes":"never","editor.autoIndent":"full","editor.parameterHints.enabled":true,"editor.quickSuggestions":{"other":true,"comments":false,"strings":true},"editor.wordSeparators":"`()[]{}\",'","editor.rulers":[80,100],"editor.semanticHighlighting.enabled":true}
}

Editor configuration for ClojureScript files

files.associations

{
  "files.associations": {"*.clj":"clojure","*.cljs":"clojurescript","*.cljc":"clojure","*.edn":"clojure","*.bb":"clojure","deps.edn":"clojure","shadow-cljs.edn":"clojure"}
}

File associations for Clojure files

rainbowBrackets.activeScopeCSS

{
  "rainbowBrackets.activeScopeCSS": ["borderColor: {color}; borderWidth: 1px; borderStyle: solid;"]
}

CSS for active bracket scope highlighting

rainbowBrackets.forceUniqueOpeningColor

{
  "rainbowBrackets.forceUniqueOpeningColor": true
}

Force different colors for each bracket level

⌨️ Recommended Keybindings

  • Jack-in: Start REPL and connect: ctrl+alt+c enter
  • Connect to running REPL: ctrl+alt+c ctrl+alt+c
  • Evaluate top-level form: ctrl+enter
  • Evaluate selection or current form: ctrl+alt+c space
  • Load/evaluate current file: ctrl+alt+c ctrl+alt+n
  • Run tests in current namespace: ctrl+alt+c t
  • Run all tests: ctrl+alt+c ctrl+t

📝 Extension Details

Extension Publisher Description
Calva betterthantomorrow Clojure & ClojureScript Interactive Programming
Clojure LSP betterthantomorrow Language Server Protocol support for Clojure
Parinfer shaunlebron Simplifies Lisp parentheses editing
Rainbow Brackets 2gua Colorizes matching brackets
Clojure Snippets rafaeldelboni Code snippets for Clojure

🏷️ Categories

clojure clojurescript lisp repl functional-programming interactive-development

📄 License

Extension Pack License

This extension pack is licensed under the MIT License - see LICENSE.md for details.

Third-Party Extension Licenses

Important: Each extension included in this pack has its own license terms. templ-project is not responsible for the licensing, functionality, or security of third-party extensions.

Extension Publisher License Description
Calva betterthantomorrow MIT Clojure & ClojureScript Interactive Programming
Clojure LSP betterthantomorrow MIT Language Server Protocol support for Clojure
Parinfer shaunlebron MIT Simplifies Lisp parentheses editing
Rainbow Brackets 2gua MIT Colorizes matching brackets
Clojure Snippets rafaeldelboni MIT Code snippets for Clojure

Disclaimer

  • We do not guarantee the functionality, security, or compatibility of included extensions
  • We are not responsible for any issues caused by third-party extensions
  • Users install and use extensions at their own risk
  • Please review each extension's license and privacy policy before use

🤝 Contributing

Found an issue or want to suggest an extension? Please open an issue or submit a pull request.

📊 Extension Pack Stats

  • Total Extensions: 5
  • Required Extensions: 2
  • Optional Extensions: 3
  • Target IDE: vscode
  • Language Focus: clojure

This extension pack is maintained by templ-project and updated regularly to include the most useful clojure development extensions.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft