集成开发环境是编程行业中的重要工具。了解 IDE 中需要寻找什么。

编程行业的工具之一是集成开发环境 (IDE)。拥有一个好的 IDE 可以在你使用编程语言时发挥重要作用,并且可以帮助你避免一些错误,这些错误可能在编译或测试代码时才会被发现。
但是,如果你是编程新手或特定编程语言的新手,你可能会发现自己被各种 IDE 选择弄得不知所措,并且对一个 IDE 与另一个 IDE 之间的区别,甚至 IDE 到底是什么都知之甚少。对于什么才算作 IDE 没有官方规范,因此在本文中,我将探讨真正使 IDE 成为 IDE 的功能,以及如何找到适合你的 IDE。
基本 IDE 功能
“IDE”一词暗示了一些基本功能。
代码编辑器
你在 IDE 中大部分时间都在输入文本。IDE 必须有一个地方来输入你的代码,并且这个地方必须让你感到舒适。如果编辑器笨拙或效率低下,那么你就不想整天使用它。一个真正好的 IDE 甚至具有编辑器模拟模式,以便习惯 Emacs 或 Vim 的程序员可以使用他们已经习惯的快捷键组合。
语法高亮
当你输入代码时,IDE 会以一种颜色显示你正在使用的语言的关键字,以另一种颜色显示变量,以另一种颜色显示库和函数,等等。这种高亮显示为你编码生活增添了一点色彩,为原本单调乏味的文本墙提供了上下文。
代码检查
如果你在输入代码时犯了错误,IDE 会为你突出显示错误。这种自动代码检查称为“代码检查”。它不仅可以捕获致命错误。某些语言(如 Python)鼓励开发人员根据官方风格指南编写代码。每当你偏离 Python 增强提案 (PEP) 建议时,一个好的 Python IDE 都会警告你。
代码更正
代码检查是捕获错误的过程,许多 IDE 可以根据预期语法的基本模式来做到这一点。但是,一个出色的 IDE 会建议错误的修复方案。更好的是,IDE 应该提出从编程语言在实际生活中的工作方式中得出的合理更正。换句话说,Java IDE 建议的修复方案对于 Java 来说是有意义的,而不是 Python 或 C++。
当然,这并不总是完美的。IDE 只能根据满足语言规范来建议修复方案,但在错误的上下文中,这可能会破坏你的项目。你对语言的理解以及你想要实现的目标至关重要,但自动更正功能非常适合查找明显的错误。IDE 的自动更正可以为你节省大量手动查找和替换工作,甚至简单的重构。
项目感知
代码和资源以字面意义或虚拟方式捆绑在一起,这样当你准备分发你的代码时,你就不会遗漏任何重要元素。大多数 IDE 都具有项目目录的概念,就像 Autotools 或 CMake 假设你的代码文件具有标准化的布局一样。一些 IDE 抽象化了你的代码及其库的结构,以便你可以看到你的代码所依赖的一切——包括你默认安装的系统级工具包(但你的用户可能没有)以及你在本地生成的自定义代码。
你实际需要的粒度级别取决于你自己的组织、依赖项跟踪能力,甚至取决于你使用的语言和库。但是,无论你的项目多么复杂或简单,你的 IDE 都知道在搜索文件、库和资源时默认使用哪个目录,这都很方便。
环境感知
IDE 通常具有管理系统,可以帮助你设置要使用的代码库、特定的运行时和编译器选项,并跟踪版本控制。这在任何系统上都很重要,但在安装了多个工具版本的开发机器上至关重要。例如,同时安装 Qt4 和 Qt5 工具包、Python 2 和 3、不同版本的 Java 运行时、32 位和 64 位库、GCC 和 LLVM 等情况并不少见。为了获得一致的结果,最好让 IDE 管理你的项目的构建和捆绑方式。
从 IDE 内部构建、运行和调试你的代码也是一个重要的便利功能。当然,你不需要你的代码编辑应用程序也运行你的编译器或启动调试器,但在同一个界面中拥有这些功能确实为通常分散的过程带来了统一性。
IDE 是可选的
无论你的教科书、老师或老板怎么说,你技术上都不需要 IDE 来编写代码。无论你使用哪种语言编写代码,最终都会以文本被编译器解析和处理结束,所以你真正需要的只是一个好的文本编辑器和一个构建工具链。我列出的所有 IDE 功能都是可选的,并非每个 IDE 都具有每个功能或每个功能的全部。你可以尝试不同的 IDE;找出你离不开什么,你觉得有什么令人愉快,以及你绝对不想要什么;并根据你的经验做出决定。但是,一旦你找到一个好的 IDE,你可能会开始了解和喜欢它,并且你将不想在没有它的情况下编写代码。
找到一个开源 IDE
有很多开源 IDE。有些非常特定于一种编程语言,例如 Python 和 Java,否则几乎没什么用处。其他 IDE 则考虑了不同的语言和不同的框架,因此你可以在许多不同的项目或利用多种语言的项目中使用它们。当然,你也可以始终选择完全放弃 IDE,而只使用文本编辑器——或者 配置为像 IDE 一样工作的 文本编辑器。
最终,IDE 最重要的功能是你的舒适性和效率。与任何新工具一样,当你开始使用不熟悉的 IDE 时,你可以预期会有一个学习曲线,但是在你花时间在其中工作之后,你应该感觉你了解它的界面,你知道在哪里快速找到新功能,并且它正在努力使你成为更好更快的程序员。如果你没有从一个 IDE 中获得这些,那么请尝试另一个。
有这么多优秀的开源 IDE 可供选择,你一定会找到一款适合你的。祝你编程愉快!