我想使用emacs进行java编码,但我对java编码使用哪种模式感到困惑。有jdee,它看起来像ide;malabar,据说比jdee更精通java1.5结构;emacs-eclim,它是emacs的eclipse后端。还有很多用于emacs的补全扩展,我也不知道该使用哪一个。事实上,我非常困惑,所以我推迟了使用它们,直到得到推荐。
在emacs中实现java-mode +补全的最佳选择是什么?而且,如果我决定使用上面提到的组合,冲突会发生吗?
发布于 2011-01-21 02:42:02
对于那些习惯了Emacs文本操作的人来说,Eclipse看起来就像是用一只脚踩自行车。http://www.mulgasoft.com/的Emacs+插件非常适合将Emacs键绑定到Eclipse中。
我经常使用Eclipse和Emacs,但如果我只进行Java开发,我可能只使用带有Emacs+的Eclipse。在Emacs上启用许多Eclipse特性需要一些工作。
我的建议是使用Emacs >= 23。如果你用的是Mac,看看AquaMacs。我使用JDEE作为Java插件。这有一个严重的缺点,就是不能很好地处理泛型。这并不是说它停止工作了,只是很多东西没有被识别出来。不要使用旧的2.3.5JDEE插件(它随大多数Linux发行版一起提供),而是从sourceforge站点获得2.4版本。还有Emacs Code Browser (ECB);这是一个插件,它将为您提供Eclipse的Project Explorer和大纲视图(其他开发人员看到这一点时不会相信您,当他们告诉他们这是Emacs时)。在过去的一年里,我在Windows、Mac和Linux上的商业项目中使用了这个设置。
事实上,Eclipse与Emacs配合得很好,我经常在两者之间切换。Eclipse有一些很好的重构工具,我过去经常使用sed,而且它有一个很好的调试器接口。您可以同时使用它们。我发现我在使用其他人的代码时使用Eclipse,在编写自己的代码时使用Emacs -Emacs要快得多。请注意,对我来说,Emacs的很多价值在于非Java功能,比如从我本地的Emacs编辑远程服务器上的Tomcat配置文件,用LaTeX编写专业文档,用Python或MATLAB或XML开发,以及奇怪的文本处理任务(例如,将CVS文件转换为String[]数组)。
我还没有用过你提到的另外两个项目。Eclipse编译器已经可以和Emacs一起使用了,所以我不确定我是否明白emacs-eclim项目的意义,这个项目似乎已经垂死挣扎。Malabar项目可能很有趣,但似乎是一个有点古怪的开发人员的产品(例如,warning“如果你不使用Maven (为什么?)你不应该考虑malabar模式”-我会告诉我的客户?)。
Emacs上的Java处于一种可悲的状态。我希望JDEE能够重新焕发活力,但目前还不清楚何时或是否会实现。网站和邮件列表提供的线索很少。
发布于 2012-02-10 16:58:36
我使用emacs-eclim,它具有自动完成模式支持和专门用于Java编程的Java模式突出显示。我90%的工作是在emacs中完成的,但当我需要调试、运行单元测试或进行主要重构时,我会切换到eclipse。总而言之,这个设置对我来说工作得很好。
我已经很多年没有尝试过JDEE了,但我记得设置它是件很麻烦的事情。我不太喜欢UI,因为它提供了许多预先安排好的窗口,这些窗口被锁定在适当的位置。我喜欢能够在编辑缓冲区之间来回切换,通常只显示一个窗口,但在必要时可以动态拆分和重新排列。
注意:我是一个emacs-eclim维护者,这可能影响了我的判断。
发布于 2011-09-27 18:48:50
如果您使用的是Maven,那么我建议您使用malabar-mode。它将自动为您设置所有内容,无需像使用JDEE那样编辑项目文件。我发现malabar的缺点是,如果你打开了很多多级模块项目,它可能会消耗大量内存。
Malabar和JDEE都会给你“真正的”补全,即只有可能的补全。然而,在Emacs中有两个令人惊叹的“智能猜测完成框架”。hippie-扩展和自动完成。
前者很棒(可以为你完成整个代码块,使得循环通过项目中的所有if-test成为可能),但auto-complete mode甚至更好。它将给你一个很好的智能风格菜单,在你使用它的时候会“学习”,并允许你定义一个文件,其中包含你想要在各种语言中可用的补全。
https://stackoverflow.com/questions/4654725
复制相似问题