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

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

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


当前回答

作为你在你的问题中强调的回答的作者,并且承认这一点有点晚了,我不得不说,在列出的许多原因中,专业开发人员的生产力是最受重视的技能之一。

我所说的生产力是指高效地完成工作并取得最佳结果的能力。ide在许多级别上都支持这一点。我不是Emacs专家,但我怀疑它缺乏主要ide的任何特性。

设计、文档编制、跟踪、开发、构建、分析、部署和维护,这些企业应用程序中的关键步骤都可以在IDE中完成。

如果你有选择,为什么不用这么强大的东西呢?

作为实验,让自己使用一个IDE 30天,然后看看感觉如何。我很想听听你对这次经历的看法。

其他回答

这取决于你使用的语言,但在c#和Java中,我发现ide对以下方面有好处:

Quickly navigating to a type without needing to worry about namespace, project etc Navigating to members by treating them as hyperlinks Autocompletion when you can't remember the names of all members by heart Automatic code generation Refactoring (massive one) Organise imports (automatically adding appropriate imports in Java, using directives in C#) Warning-as-you-type (i.e. some errors don't even require a compile cycle) Hovering over something to see the docs Keeping a view of files, errors/warnings/console/unit tests etc and source code all on the screen at the same time in a useful way Ease of running unit tests from the same window Integrated debugging Integrated source control Navigating to where a compile-time error or run-time exception occurred directly from the error details. Etc!

所有这些都节省时间。这些事情我可以手动完成,但会更痛苦:我宁愿编写代码。

这在很大程度上取决于你在做什么,以及你用什么语言来做。就我个人而言,我倾向于不使用IDE(或“我的IDE包含3 xterm vim运行,运行数据库客户端,和一个bash提示或尾矿日志”,这取决于你广泛的定义IDE)的大部分时间里我的工作,但是,如果我发现自己开发一个platform-native GUI,然后我会找一个瞬间看清IDE——国际海事组织、IDE和图形形式编辑显然是天生的一对。

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

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

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

我可以想到使用IDE的几个原因:

综合帮助是最受欢迎的。 内置的重构与Visual Studio预览 智能感知,语法高亮显示,大型项目的导航方便,集成调试等等(尽管我知道通过插件你可能可以在Emacs和Vim中得到很多)。 另外,我认为现在的ide有更广泛的用户基础,可能有更多的人为它们开发插件,但我可能错了。

坦白说,我喜欢我的鼠标。当我使用纯文本编辑器时,它变得很孤独。

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