Emacs java-mode: malabar, jdee, or eclim?

2022-09-01 06:10:11

我想使用emacs进行java编码,但我对使用哪种模式进行java编码感到困惑。有jdee,看起来像ide一样;malabar,据说他比jdee更精通java 1.5结构;和emacs-eclim,这是emacs的eclipse后端。emacs还有丰富的完成扩展,我也不知道该使用哪一个。事实上,我非常困惑,以至于我推迟使用它们中的任何一个,直到我得到建议。

在 emacs 中,Java 模式 + 完成的当前最佳选择是什么?而且,如果我决定使用我上面提到的组合,冲突会发生吗?


答案 1

对于那些习惯于Emacs文本操作能力的人来说,Eclipse看起来就像用一只脚踩自行车一样。http://www.mulgasoft.com/ 的Emacs+插件非常适合将Emacs密钥绑定放入Eclipse中。

我经常使用Eclipse和Emacs,但是如果我只做Java开发,我可能会只使用Eclipse和Emacs+。在Emacs上启用许多Eclipse功能需要一些工作。

我的建议是使用Emacs >= 23。如果您使用的是 Mac,请查看 AquaMac。我使用JDEE作为Java插件。这有一个严重的缺点,即不能很好地使用泛型。这并不是说它停止工作,只是很多东西没有被识别出来。不要使用旧的2.3.5 JDEE插件(大多数Linux发行版附带的插件),而是从sourceforge站点获取2.4版本。同时获取Emacs代码浏览器(ECB);这是一个插件,可以给你像Eclipse的项目资源管理器和大纲视图这样的东西(其他开发人员会看着这个,当他们告诉他们它是Emacs时不相信你)。在过去的一年里,我已将此设置用于Windows,Mac和Linux上的商业项目。

事实上,Eclipse在Emacs中玩得很好,我经常在两者之间切换。Eclipse有一些很好的重构工具,我曾经使用过sed,它有一个很好的调试器界面。您可以同时使用它们。我发现我在使用其他人的代码时使用Eclipse,而在编写自己的代码时使用Emacs---Emacs要快得多。请注意,对我来说,Emacs的很多价值是非Java功能,比如从我本地的Emacs编辑远程服务器上的Tomcat配置文件,使用LaTeX编写专业文档,用Python或Bash或MATLAB或XML进行开发,以及奇怪的文本操作任务(例如,将CVS文件转换为String[]数组)。

我没有使用你提到的其他两个项目。已经可以将Eclipse编译器与Emacs一起使用,所以我不确定我是否看到了emacs-eclim项目的意义,无论如何,它似乎已经奄奄一息。Malabar项目可能很有趣,但似乎是一个有点暴躁的开发人员的产物(例如,警告“如果你没有使用Maven(为什么?)”你不应该考虑马拉巴尔模式“---我会告诉我的客户吗?

Emacs上的Java处于可悲的状态。我希望JDEE能够重新焕发活力,但目前尚不清楚何时或是否会发生这种情况。网站和邮件列表提供了很少的线索。


答案 2

我使用 emacs-eclim 与自动完成模式支持和 Java 模式突出显示专门用于 Java 编程。我90%的工作都是在emacs中完成的,但是当我需要调试,运行单元测试或进行重大重构时,我会切换到eclipse。总而言之,这种设置对我来说非常有效。

我已经很多年没有尝试过JDEE了,但我记得这是一个b*tch的设置。我不太关心UI,因为它放置了许多预先排列的窗口,这些窗口被锁定在适当的位置。我喜欢能够在编辑缓冲区之间来回切换,通常只显示一个窗口,但在必要时动态拆分和重新排列。

注意:我是一个 emacs-eclim 维护者,这可能影响了我的判断。


推荐