2024 Clojure调查问卷!中分享您的想法。

欢迎!请参阅关于页面,了解更多如何使用此信息。

+1 投票
编译器

你好
我克隆了这个项目[链接地址](https://github.com/unclebob/Euler),然后用VScode打开它。我安装了Calva,正在教程的中途。我知道“未解析的符号”是什么意思,但不知道如何在Clojure项目中解决这个问题,特别是这个项目之前是能工作的。我知道作者使用了IntelliJ,我相信是终极版。我有社区版。我知道有eval(我如果没有其他选择会使用它)。我只是想了解如何自己解决这个问题。我能运行Calva附带的自启动教程,但编译器错误仍在。

2 答案

+1 投票

你好,我不是Calva专家,但也许你会觉得在这些交互式论坛上找到帮助解决这个问题的人是个好地方

https://calva.io/#have-questions-and-feedback-need-help

+1 投票

问题在于,当使用:refer :all时,clj-kondo无法静态地查看引入了哪些变量,除非同时进行依赖项的检测。在Calva中,这样做会自动进行,如果您在根目录下(其中包含deps.ednproject.clj)打开项目,clojure-lsp将计算类路径并使用clj-kondo对类路径上的所有依赖项进行检测。之后,通过refer :all引入的变量将正确解决。

在这种情况下,如果在这个特定项目的根目录下打开,没有deps.ednproject.clj文件,它将不会有那种效果。在e1目录下打开项目则可以。

by
非常感谢。我会试一下。
by
项目完成索引后,您可能需要编辑文件,例如在某处插入空格以便重新触发检测。
...