我对clojure编程做了很多研究。我希望有一个干净的设置,我可以轻松地查看和访问我的所有项目,在REPL中快速测试/修改它们,并在它们完成后打包它们,以便我可以从命令行调用它们。
通过多项建议,我目前在Eclipse,Leiningen,maven和SublimeREPL中遇到了令人困惑的CCW。经验丰富的Clojurians,尤其是mac用户,您使用的工具是什么?
我特别欣赏一个关于项目工作的分步说明,例如如何设置Windows以及如何快速将文件加载到REPL中。
在相关的说明中,每当我在eclipse中使用REPL时遇到错误,我必须关闭它并每次都重新启动它。如果我尝试继续,我得到的是一个'未处理的REPL异常'。
答案 0 :(得分:4)
对于Mac上的Clojure开发,我使用了Sam Aaron出色的“精选emacs体验”,Emacs-live。这是emacs的一组自定义,主要用于将emacs转换为现场音乐表演工具(使用Overtone,一个用于制作音乐的Clojure库)。然而,作为一个副作用,它看起来很漂亮,并配有一个整洁的Clojure配置。我将它用于Mac上的所有Clojure开发工作。
启动并运行Clojure emacs-live:
安装emacs-live。最简单的方法是运行“brogrammer”安装脚本
bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh)
您也可以按照github repo https://github.com/overtone/emacs-live
安装leiningen。听起来已经有了。如果没有,只需brew install leiningen
(你有自制吧?如果没有,你可以按照leiningen repo https://github.com/technomancy/leiningen的说明进行操作)。
现在提出你真正的问题......
如何轻松查看和访问我的所有项目?
Emacs内置了书签 - 我只是为每个项目的根目录添加书签,这样我就可以快速跳转到它。
要为文件或文件夹添加书签,请使用键命令C-x r m
,并使用C-x r l
查看书签列表。您可以使用基于文本的目录浏览器(称为dired
)浏览emacs中的目录,该浏览器可通过键命令C-x d
访问。
如何在REPL中快速测试/修改项目?
Emacs-live包含nrepl.el。这意味着您可以从任何clojure源文件调用命令M-x nrepl-jack-in
。这将为您提供一个可用于测试程序的repl。在emacs中加载的任何.clj
文件都会使您进入clojure模式。 clojure模式中的一些有用命令是:
C-c M-n
(从源文件)将repl的命名空间切换到当前源文件的命名空间C-c C-k
评估当前缓冲区(文件)C-x C-e
评估最后一个s-expression M-.
跳转到定义M-,
跳回来 如何设置Windows?
我通常有一个水平分割(C-x 2
),在下面的窗口中有一个repl,我正在顶部窗口中使用我正在使用的源文件。我将使用C-x b
(切换缓冲区)在顶部窗口中切换开源文件。适合我。
完成后如何打包?
从命令行(lein uberjar
)使用M-x eshell
来打包项目及其依赖项。
注意:
我在上面的emacs中使用标准速记来表达键盘快捷键。它有点陈旧,但在Mac上,作为标准,C
映射到控制键,M
映射到alt键。
答案 1 :(得分:2)
我的个人设置是:
即便,简单!我在Clojure专业工作了一年。
但您可能还想查看:LightTable和NightCode。两者都是Clojure开发的有趣方法。