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

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

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


当前回答

IDE可能是一个“优越”的选择,这取决于开发人员试图实现的目标。

文本编辑器可能更“优越”,因为ide通常面向一种(或一小部分)语言。

如果一个开发人员大部分时间都在单一语言或相关语言的“集群”(如c#和T-SQL)上,在一个操作系统中,那么一个好的IDE所提供的GUI设计、调试、智能感知、重构等工具就会非常引人注目。例如,如果你大部分时间都在VB上工作。NET,在Windows环境中可能偶尔会用到一点T-SQL,那么如果你不考虑Visual Studio或类似的IDE,那就太愚蠢了。

我对那些喜欢ide或文本编辑器的人没有偏见,如果学得好,两者都可以非常有效和有用!

其他回答

使用ide的一个很好的理由是,它们是生产现代软件的公认方式。如果您不使用,那么您可能会使用“老式”的东西,如vi和emacs。这可能会导致人们得出结论——可能是错误的——你被困在自己的方式中,无法适应新的工作方式。在软件开发这样的行业——创意可能在短短几个月内就会过时——这是一种危险的状态。这可能会严重损害你未来的工作前景。

拥有IDE有以下优势:

编译通常是“动态的”,这意味着不再切换到命令行进行编译 调试是集成的,在IDE中拥有调试意味着步进调试器实际上使用就地编辑器来直观地显示执行了哪些代码 IDE通常对您正在使用的语言具有更多的语义知识,并且可以在输入时向您显示可能出现的问题。重构比“搜索替换”强大得多。

还有很多,也许你应该试试。

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

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

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

ide基本上是:

编辑器/代码完成,重构和文档 调试器 文件系统资源管理器 scm的客户 构建工具

都在一个包里。

您可以使用单独的工具或出色的可编程编辑器和额外的工具,如Emacs(也可以使用Vim,但IDEbility IMO稍微少一些)来实现所有这些功能(以及更多功能)。

如果您发现自己经常在一个实用程序和下一个可以集成到环境中的实用程序之间切换,或者如果您缺少这里列出的一些功能(其他文章中有更完整的功能),那么可能是时候转移到IDE了(或者通过添加宏之类的方法来提高环境的ideability)。如果你已经用一个以上的程序构建了一个“IDE”(在我上面提到的意义上),那么就没有必要转移到一个真正的IDE。

IDE可以让人更快更容易地工作……我注意到我花了很多时间在一个简单的文本编辑器中浏览代码……

在一个好的IDE中,如果IDE支持跳转到函数,跳转到之前的编辑位置,跳转到变量……此外,一个好的IDE可以减少试验不同语言特性和项目的时间,因为启动时间可以很短。