在另一个问题中,Mark高度评价了ide,说“有些人仍然不知道”为什么“他们应该使用一个……”。作为一个使用vim进行编程的人,并且在大多数/所有同事都使用vim或emacs进行所有工作的环境中工作的人,ide的优势是什么?我为什么要用它?

我相信这对一些人来说是一个棘手的问题,我对开始一场论战不感兴趣,所以请只回复你认为基于ide的方法更好的原因。我对听到为什么我不应该使用IDE不感兴趣;我已经不用了。可以这么说,我感兴趣的是听取“栅栏的另一边”的意见。

如果您认为ide可能适合某些类型的工作,但不适合其他类型的工作,我也很想知道为什么。


当前回答

Eclipse:

代码高亮显示,在后台编译,在执行过程中指出错误。

与javadoc集成,使用ctrl-Space提示变量名。

当我编译时,就会得到错误。我可以双击一个错误,它会显示相应的行。

很好地与JUnit集成,ctrl-F11运行测试,告诉我测试失败了。如果在输出窗口中出现异常,我可以双击某行,并将我带到失败的行。不仅如此,ctrl-F11还可以确保在运行测试之前编译所有内容(这意味着我永远不会忘记这样做)。

与ant集成。一个命令用于构建和部署应用程序。

集成调试器,包括web服务器的远程调试。

神奇的重构工具,搜索一段代码的引用。帮助我了解改变的影响。

总而言之,这让我更有效率。

其他回答

我使用它的主要原因是当代码超过100个文件时。

虽然ctags可以完成这项工作,但一些ide有一种非常好的方法来轻松快速地浏览文件。

当你有很多工作要做的时候,这样可以节省时间。

我使用Emacs作为开发和邮件/新闻的主要环境已经有大约10年了(1994-2004)。当我在2004年强迫自己学习Java时,我发现了IDE的力量,令我惊讶的是,我实际上喜欢IDE (IntelliJ IDEA)。

我不会详细说明原因,因为很多原因已经在这里提到过了——只要记住,不同的人喜欢不同的功能。我和一个同事使用同一个IDE,我们都只使用了可用功能的一小部分,我们都不喜欢彼此使用IDE的方式(但我们都喜欢IDE本身)。

但是我想强调的是ide相对于Emacs/Vim相关环境有一个优势:您可以花费更少的时间安装/配置所需的特性。

使用Wing IDE(适用于Python),我可以在安装后15-20分钟开始开发。不知道我需要多少小时才能让我使用的特性在Emacs/Vim中运行。:)

For me, an IDE is better because it allows faster navigation in code which is important if you have something in your mind to implement. Supposed you do not use an IDE, it takes longer to get to the destination. Your thoughts may be interupted more often. It means more clicks/more keys have to be pressed. One has to concentrate more on the thought how to implement things. Of course, you can write down things too but then one must jump between the design and implementation. Also, a GUI designer makes a big difference. If you do that by hand, it may take longer.

对我来说,这肯定会提高我的工作效率。我甚至在Vista上的Visual Studio中编写Linux应用程序,然后使用Linux虚拟机来构建它们。

你不需要记住函数或方法调用的所有参数,一旦你开始输入它,IDE就会告诉你需要什么参数。您可以使用向导来设置项目属性、编译器选项等。您可以在整个项目中搜索内容,而不仅仅是当前文档或文件夹中的文件。如果你得到一个编译器错误,双击它,它会直接把你带到有问题的行。

集成了模型编辑器、连接和浏览外部数据库、管理代码“片段”集合、GUI建模工具等工具。所有这些东西都可以单独使用,但是将它们都放在同一个开发环境中可以节省大量时间,并使开发过程更有效地进行。

我也几乎只使用Vim(几乎是因为我现在正在尝试学习emacs)来完成我的所有开发工作。我认为纯粹的直观性(当然来自GUI)是人们喜欢使用ide的主要原因。通过直观,几乎不需要学习工具的开销。学习开销越少,他们完成的工作就越多。