Calva 的 Jack-in 是唯一可靠入口,手动启动的 REPL 不被识别,功能全部失效;Jack-in 失败需检查项目根目录、deps.edn 的 :paths 或 project.clj 的 :source-paths 与 :profiles 结构,Mac M 系列用户需配置 calva.jvmArgs,REPL 显示 user=> 表明未加载源码,且必须卸载冲突插件“Clojure”仅保留 Calva。

Calva 的 Jack-in 是唯一可靠入口,手动启动的 lein repl 或 clojure -M 终端 REPL 完全不被识别,求值、跳转、内联显示等功能全部失效。
Jack-in 启动失败:提示 “Connecting to nREPL…” 卡住
这通常不是 Calva 本身的问题,而是项目结构或配置没被正确识别:
- 确保你打开的是项目根目录(含
deps.edn或project.clj),不是单个.clj文件 - 若用
deps.edn,检查是否声明了源码路径::paths ["src"];漏掉这行会导致 Calva 加载失败,REPL 停在user=> - 若用
project.clj,确认文件里有:profiles {:dev {:dependencies [...]}}这类标准结构;Leiningen 2.9+ 默认自带:repl配置,别删掉 - Mac M 系列用户遇到
Could not reserve enough space for 2097152KB object heap,需在.vscode/settings.json中加:"calva.jvmArgs": ["-Xmx1g"]
REPL 启动后还是显示 user=>,不是项目命名空间
说明 Calva 没加载你的源码,只起了裸 REPL:
- 检查
src/目录是否存在且非空;src/my_project/core.clj必须存在,且首行是(ns my-project.core) - 若用
deps.edn,确认:paths包含"src",且该路径下有符合命名空间结构的文件 - 若用
project.clj,确保:source-paths ["src"]存在;Calva 默认按 Leiningen 规约加载,路径错或为空就退化为user - 不要手动在终端敲
lein repl—— Jack-in 才会注入项目 classpath 和命名空间上下文
快捷键求值没反应,或结果不显示在内联提示里
常见原因不是快捷键冲突,而是连接状态或编辑器焦点问题:
- 确认右下角状态栏显示
Calva REPL(不是 “Disconnected” 或空白) - 光标必须落在有效 S 表达式内部(比如括号里、函数调用中),不能停在注释或空白行
- macOS 上默认是
Cmd+Enter,Windows/Linux 是Ctrl+Enter;Alt+Enter是“求值并打印”,Cmd+Alt+C, Cmd+Alt+L是加载整个文件 - 如果内联提示不出现,检查设置里
calva.inlineResults是否为true;部分主题会把浅色内联文字盖住,可换深色主题验证
最常被忽略的点:Calva 不兼容另一个叫 “Clojure” 的插件(作者 avli),装了它会导致括号匹配失效、跳转失灵、求值无响应——必须卸载,只留 Calva。


















