Emacs和Java改变传播
您好,
我主要习惯像Eclipse一样在IDE中编码,但我想尝试使用emacs。因为我一直听说它比Eclipse和Visual Studio这样的大型IDE有多好。 所以我看看emacs为Java提供了什么(使用JDEE扩展),但它看起来并不像Eclipse那样完整。
我在Java编辑器中寻找的最重要的事情之一是更改传播和错误通知。例如,如果我重命名一个类,我希望能够自动重命名该类的所有声明。如果我删除一个方法,我希望能够看到创建错误的所有地方。
我没有在emacs中找到这些东西,这对我来说是一个节目,我看不出如何在没有这些功能的大项目上工作。
所以我的问题是:那些功能不存在,还是仅仅是我没有找到合适的位置?
答案 0 :(得分:3)
Emacs可以比Eclipse更好,但问题是“为了什么”? Emacs(和VIM)通常更小,更快,并针对文本编辑和导航*进行了优化。在最近的版本中,Eclipse非常能够编辑和导航java代码,但具有不同的“样式”。
如果您愿意学习Emacs,那么请学习它。您将获得自己的经验,这对于开发人员来说非常重要(您是唯一可以决定什么对您有用的人)。但是学习Emacs 并不意味着“抛弃”Eclipse ,如果你使用基于ant或maven的项目构建和源代码控制系统,它们可以很好地共存。例如,您可以在Emacs中进行所有编辑,同时使用Eclipse进行调试和重构。
关于Emacs和Java开发有一些有趣的想法in this thread。还有一个interesting read和来自尝试两种环境的人的Emacs和Eclipse的结论。
如果您还不是专家Eclipse用户,那么在启动Emacs之前,您应该看看Eclipse的强大编辑和导航功能:
回到问题:有一个名为Xrefactory for Java的Emacs扩展,但它不支持Java 1.5功能,所以只有在使用Java 1.4或更早版本时它才有用。
(*)当然,他们更多,我知道:)
答案 1 :(得分:2)
Emacs是一个令人难以置信的编辑器,对C语言的开发提供了很好的支持。对于Java开发,Java IDE中有一个更好的支持,它对正在编辑的程序有深入的了解。你可能想要像Eclipse,JDeveloper或Netbeans这样的东西。
在我看来,您不会对使用Emacs开发Java感到满意,您应该使用其他工具。
答案 2 :(得分:0)
我对Emacs了解不多(因此您可能会将以下内容视为偏离主题),但我同时使用Eclipse和VIM。
我将Eclipse用于大型Java项目,如果没有大规模的功能(跨项目重命名/重构等),我就无法生存。我将VIM用于小规模的东西(例如,用多种语言敲击StackOverflow示例的代码)。
Eclipse和VIM具有非常不同的功能,因此我会考虑到这一点。我不希望VIM做繁重的工作,但另一方面我不希望Eclipse在击键时开始,并且能够在几秒钟内编写一个新的(小)项目(用我需要的任何语言) - 不限于Java)。也许您应该以类似的方式看待Emacs / Eclipse对?