我相信这对一些人来说是一个充满争议的问题,我不想引发争论,所以请只回复您认为基于IDE的方法更优越的原因。我不想听到为什么我不应该使用IDE;我已经不使用IDE。我有兴趣从“另一面”听取意见。
如果您认为IDE可能适用于某些类型的工作但不适用于其他类型的工作,我也很想听听您的看法。
这真的取决于你使用的是哪种语言,但在C#和Java中,我发现IDE对以下方面有益:
所有这些都节省时间。这些都是我可以手动完成的事情,但代价更高:我宁愿编码。
代码补全功能。它对于探索代码非常有帮助。
vim
认为我可以使用的许多命令。 - new123456为什么我使用IDE的简单答案就是懒惰。
我是一个懒散的人,不喜欢用困难的方式去做事情,当有一种简单的方式时,我更愿意采用它。 IDE使生活变得轻松,所以吸引着我们这些懒散的人。
在我输入代码时,IDE会自动检查代码的有效性,我可以突出显示一个方法并按F1键获得帮助,右键单击并选择“转到定义”以立即跳转到其定义位置。我按下一个按钮,附加调试器的应用程序就会为我启动。如此等等。开发人员每天需要做的所有事情都聚集在一个地方。
没有必要使用IDE,但不使用IDE会更加艰难。
我认为在进行“文本编辑器和控制台窗口 vs IDE”比较时,如果“文本编辑器”指的是emacs,那么这种比较就不太公平了。因为大多数IDE所具备的功能在emacs中也都有。甚至可以说这些功能最初就源自于emacs,而现代IDE主要是对界面进行改进和简化。
这意味着对于原始问题,答案并不是那么明确。它取决于在相关网站上人们如何使用emacs,他们是将其主要用作文本编辑器,还是全力以赴地使用自定义脚本,学习相关模式的命令,了解代码标记等等。
我已经学到,如果要与团队进行大规模开发,我们可以通过使用IDE开发代码并使用手动编写的命令行脚本构建所有内容来提高生产力。 (我们喜欢Java开发中的Apache Ant。)我们发现,在IDE中运行脚本只是一个点击操作或自动化噩梦,对于复杂的构建而言,从IDE中退出并在shell中运行脚本要容易得多(也不会造成太大干扰)。
手动构建需要我们放弃一些现代IDE中的好处,例如后台编译,但我们获得的收益更为重要:干净且易于构建的内容可以存在于多个环境中。那些敏捷开发者所说的“一键构建”?我们有了。我们的构建脚本也可以直接由持续集成系统调用。通过持续集成管理构建使我们能够更正式地将代码部署分阶段迁移到不同的环境,并让我们几乎立即知道某人提交了破坏构建或单元测试的错误代码。
事实上,将构建角色从IDE中移除并没有对我们造成太大的伤害。Eclipse中的智能感知和重构工具仍然非常有用和有效 - 后台编译只是为了支持这些工具。而且,Eclipse独特的项目切片方式已经成为一种非常好的方法,可以以每个人都能理解的方式分解我们的问题集(尽管对我来说还是有点啰嗦)。我认为Eclipse最重要的一点是优秀的SCM集成,这使得团队开发变得非常愉快。我们使用Subversion+Eclipse,这非常高效,也很容易培训我们的员工成为专家。使用集成开发环境(IDE)具有以下优点:
还有更多的好处,也许你应该尝试一下。
IDE(集成开发环境)基本上包括以下内容:
所有这些功能都在一个单一的软件包中。
您可以使用单独的工具或仅使用出色的可编程编辑器和额外的工具(例如Emacs,Vim也可以但在我看来少了一点IDE能力)获得所有这些功能以及更多其他功能。
如果您发现自己经常在不同的实用程序之间切换,而这些实用程序可以集成在环境中,或者如果您缺少此处列出的某些功能(以及其他帖子中完整列出的功能),那么也许是时候转换到IDE(或通过添加宏等来改善您的环境的IDE能力)。如果您已经使用多个程序构建了自己的“IDE”(如我上面所提到的),则没有必要转换到实际的IDE。
Eclipse:
具有代码高亮、后台编译和指出我的错误等功能。
与javadoc集成,使用ctrl-Space建议变量名。
当我编译时,我会立即收到错误提示。我可以双击一个错误,它会显示相应的行。
与JUnit非常好地集成,ctrl-F11运行测试并告知我测试失败。如果输出窗口中有异常,我可以双击一行,它会将我带到失败的那一行。此外,ctrl-F11在运行测试之前确保所有内容都已编译(这意味着我永远不会忘记这样做)。
与ant集成。一个命令用于构建和部署应用程序。
与调试器集成,包括远程调试Web服务器。
优秀的重构工具,可以搜索代码段的引用。帮助我了解更改的影响。
总而言之,它让我更加高效。
我曾经在1994-2004年将Emacs作为主要的开发和邮件/新闻环境。直到2004年,当我被迫学习Java时,我才发现了IDE的强大之处,并惊讶地发现我实际上喜欢这个IDE(IntelliJ IDEA)。
我不会详细说明具体原因,因为这里已经提到了很多 -- 只需记住不同的人喜欢不同的功能。我和同事使用了同样的IDE,我们都只使用了一小部分可用的功能,而且我们都不喜欢对方使用IDE的方式(但我们都喜欢IDE本身)。
但是,IDE相对于Emacs / Vim相关环境的一个优势是:你花费更少的时间安装/配置所需的功能。
使用Wing IDE(用于Python),我只需安装15-20分钟就可以开始开发。不知道我需要多少小时才能让我在Emacs / Vim上使用的功能运行起来。 :)