使用Clojure和Leiningen与IDE的集成

28
我正在考虑将我的项目构建从Ant转换到leiningen,并想知道是否有适用于Clojure的IDE(如intellij、eclipse、netbeans),可以使"build"和"debug"按钮仍然可用?

1
CounterClockwise(适用于Eclipse)现在具有Leiningen集成,并将新项目生成为Leiningen项目。 - Matt Wonlaw
6个回答

19

我一直在使用Eclipse和CounterClockwise插件,Leiningen配置为通过External Tools进行访问。正如博客文章标题所说的那样,这是一种“穷人的集成”,但已经适用于我尝试的示例。


非常好用。您非常感谢的提示值得更多的赞! - Carl Smotricz
嗨,我试了一下,但不幸的是,“new”命令创建了一个完全新的项目,而不仅仅是clj文件。你也遇到这个问题了吗? - Hans-Peter Stricker
请注意:由于Posterous Spaces已经关闭,因此“穷人集成”链接已失效。 - RJHunter
谢谢你,RJHunter - 这是来自网络档案馆的链接,但没有图片:https://web.archive.org/web/20130508114845/http://sexp.posterous.com/poor-mans-integrating-leiningen-into-counterc - Alistair Collins

12

我已经在La Clojure和IntelliJ IDEA的"Leiningen"插件上有些运气。通过使用lein new命令行创建一个新项目后,我在IntelliJ中创建了一个新项目。需要将运行配置脚本路径指向core.clj文件,并且模块设置的"Dependencies"需要将lib目录包含为"Module Library"。

Leiningen插件提供了通常的lein命令,因此您可以直接从IDE(或shell)构建jar。您可以从IDEA编辑project.clj文件,而Run和Debug也似乎可以工作。

顺便说一下,我还发现这个演示对入门La Clojure非常有帮助。


谢谢。您现在可以使用文件菜单中的“打开项目”选项打开现有的lein项目,但我仍然需要按照您描述的方式添加lib目录。 - andrew cooke

11

如果需要在Eclipse中进行调试、语法高亮和运行Clojure,请尝试以下操作:

  1. 通过更新网站下载Counterclockwise来实现外部工具的语法高亮。

  2. 在project.clj文件的依赖项中添加 [lein-eclipse "1.0.0"]

  3. 使用命令 lein plugin install lein-eclipse "1.0.0" 手动添加插件。这一步是必需的,因为只添加依赖项有时不起作用。

  4. 在项目文件夹中运行命令 lein eclipse 以生成Eclipse .project和.classpath文件。这一步可能需要一段时间。如果卡住了,请再次运行。它应该会显示“created .project and .classpath”。

  5. 重新启动Eclipse。

  6. 转到 |File -> Import -> General -> Existing Projects in Workspace| 并选择项目文件夹。您应该能够选择Clojure项目,并对其进行调试和运行。

注意:似乎没有将开发依赖项添加到项目类路径中。此外,您需要将工作区更改为项目所在的文件夹,这样它就不会创建项目的第二个副本,并使用实际的文件。


1
当运行“lein plugin install lein-eclipse 1.0.0”时,Leiningen会提示“插件任务已被删除。”有什么想法吗? - user1338062
你正在使用 lein 2.0 吗?如果是的话,你需要使用 :user 配置文件来指定插件。在这里有详细说明:https://github.com/technomancy/leiningen/wiki/Upgrading。顺便提一句:对于 lein 2.0,第三步骤应该使用 :user 配置文件。 - Colbert Sesanker

4
没有对每个Clojure IDE插件的最新版本进行梳理,因此很难做出明确的结论。但是,作为一个关注Leiningen和通用IDE相关发展的人,我并没有在任何地方看到这种功能。Leiningen的Google Group中也没有提到IDE、Eclipse和Netbeans等词语。如果有人正在开发这个功能,我想他们会在那里提到。
不过,Leiningen在命令行下非常容易使用,所以请不要害怕尝试。我之前已经将我的项目从Ant和Maven转换到了Lein。依赖跟踪非常方便,而且每周都会推出添加有用新命令的插件。如果你真的需要IDE集成,一种轻量级的方式可能是添加某种自定义命令或按钮,只需在后台运行Lein即可。

3
我发现最好的整合方式是通过 lein-swank与slime-clojure。基本上,您使用lein swank命令使用Leiningen配置的类路径启动swank服务器。然后,您使用M-x slime-connect连接到该swank服务器,就可以使用repl了。只要您能够处理emacs ;)

2

我一直在使用Intellij IDEA + La Clojure。

  1. 运行 lein pom 命令创建 Maven 的 pom.xml 文件。
  2. 在 Intellij IDEA 中创建新项目,选择从 Maven 项目创建。

当您通过 Leiningen 更改依赖项时,请更新 pom.xml 文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接