什么是集成开发环境 (IDE)?

一名男子和一名女子在计算机实验室一起工作,周围都是屏幕和笔记本电脑。

作者

Josh Schneider

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

什么是集成开发环境 (IDE)?

集成开发环境 (IDE) 是由 DevOps 开发运维程序员使用的软件。它将各种有用的开发者工具(包括源代码编辑器、构建自动化工具和调试器)打包到单个图形用户界面 (GUI) 应用程序中。

虽然对于软件开发来说并不是绝对必要的,因为代码可以使用任何文本编辑器编写并从命令行执行,但 IDE 结合了提高开发人员工作效率和代码质量的功能。现代 IDE 通常包含必要的编译器、解释器或两者,具体取决于实际的编码语言。

其他常见 IDE 功能包括此处列出的功能:

  • 版本控制系统:版本控制是现代软件工程的一个组成部分,用于控制、组织和跟踪代码的不同版本。版本控制系统可帮助开发人员监控代码更改和更新,同时记录代码历史。尽管 Git 等独立选项被广泛使用,但许多 IDE 还提供可能兼容的内置选项。
  • 类浏览器:类浏览器支持程序员浏览、探索或实现面向对象编程代码的结构可视化。
  • 对象浏览器:对象浏览器允许程序员按组件检查软件包。它们可以显示与单个对象相关的组件层次结构、属性和事件。
  • 类层次结构图:IDE 可以提供类层次结构图,这对基于面向对象编程的软件工程至关重要。这类静态图按对象类别描述系统的总体结构,包括其属性、运行情况以及与其他对象之间的关系。

集成开发环境 (IDE) 的常见功能

虽然一些基本功能被视为 IDE 的标准,但是没有一套可以使软件有资格成为 IDE 的基准功能列表。也就是说,大多数 IDE 都可能在某种程度上包含大部分(或全部)此类工具、特性和功能,例如:

  • 代码编辑自动化:IDE 可提供各种自动化技术,用于编辑和更正各类编程代码。由于不同的编程语言遵循不同的规则,因此当开发人员出现语法错误或偏离正确的语言结构时,IDE 可以识别并进行纠正。
  • 智能代码自动补全:IDE 通常包含自动化工具(类似于自动补全或搜索建议),可根据已识别的代码功能或意图生成常用短语或术语建议,以帮助程序员编写代码。
  • 语法高亮显示:IDE 可以自动设置编写代码的格式、更改字体颜色,并针对特定单词、短语或符号进行加粗或斜体处理。语法高亮显示可以为潜在的语法错误提供即时反馈。这一 IDE 功能可提高源代码的可读性,从而简化程序员的审查工作。
  • 重构支持:代码重构是对有效源代码进行提炼、重组或重写的过程,不仅能提供预期功能,还能符合既定的简单性原则。充分重构的代码效率更高,可读性更强,只需使用必要的脚本即可实现预期功能。重构被认为是高级软件设计的一个组成部分,尽管这个过程可能很乏味。在某些场景下,IDE 通过更快地自动重构源代码,帮助开发人员改进代码。
  • 本地构建版本自动化:IDE 可以自动执行伴随代码编辑出现的多项重复性开发任务,例如更新之前编写的代码行以反映新的变更。
  • 编译和解释:大多数程序员使用高级编程语言编写程序,因为这些语言更易于人类阅读,因此也更容易操作。但是,在软件运行之前,必须将其翻译成操作系统(例如 Linux 或 Windows)可以理解的低级机器语言。编译器和解释器是根据特定语言的原始源代码自动执行翻译过程的软件类型。虽然编译器和解释器通常都是独立的软件,但许多现代 IDE 都提供内置的编译和解释功能。
  • 测试:在将新的源代码与现有开发者代码集成之前,IDE 会提供开发者工具以实现本地单元测试自动化。在更复杂的生产环境中测试代码之前,此初始过程提供了第一轮质量控制。
  • 调试 (Debugging):Bug 一词是对未修正代码中可能出现的各种潜在错误的统称。虽然一些 bug 可能只是简单的印刷错误或语法错误,但任何阻止预期软件功能按预期运行的代码都可以被视为 bug。调试过程涉及多层次的审核和测试,以验证代码是否在所有情况下按预期运行。尽管 IDE 通常不提供完全集成的代码调试,但经常会提供一系列调试工具。这些工具有助于消除尽可能多的错误 (bug),通常在编写代码脚本时实时执行。IDE 支持调试过程的一种方式是在代码运行时逐行高亮显示代码,帮助开发人员检查代码并验证其行为。
  • 代码检查和分析:实时代码分析可提供即时反馈,类似于常见文本编辑器中的自动拼写和语法检查器。这类工具不仅能检测简单的排版错误,还有助于识别各种潜在问题。这些问题包括可能影响代码可读性和维护的样式违规、潜在错误、低效语言模式以及关键安全漏洞。
应用程序开发

开启旅程:云端企业应用程序开发

在本视频中,Peter Haumer 博士通过演示不同的组件和实践(包括 IBM Z Open Editor、IBM Wazi 和 Zowe),探讨了混合云环境中现代企业应用程序的开发现状。

使用集成开发环境的好处

相较于标准文本编辑器,在集成开发环境 (IDE) 下进行应用程序开发为程序员提供了诸多便利和优势。IDE 有助于简化整个开发流程,支持开发人员轻松编写和调试代码,并与项目经理和扩展团队进行协作。

与 IDE 功能相关的益处包括:

提高生产率

IDE 可通过多种增效措施,提高开发人员的生产力。将各种工具集成到单一应用程序,可减少应用程序之间上下文切换的必要性,从而优化整体工作流。程序员还可以通过支持 IDE 处理重复性任务等自动化技术节省时间,代码生成器则可为常见脚本模式创建快捷方式。内置的文档工具还能帮助开发人员进行版本控制,从而腾出时间专注于代码创建而非编目。

改进了代码

IDE 通过各种工具帮助提高一般代码质量。实时错误检测可减少人为错误,而代码分析和重构工具可提供自动和智能的优化。语法高亮等视觉指示可帮助开发人员创建更好的顺序和结构,同时提高代码审查的可读性。

加快加盟

IDE 是帮助开发人员适应新项目或编程语言的绝佳工具。它们通过预先构建的模板、引导式工作流和集成的支持文档帮助平滑学习曲线。

协作更轻松

IDE 促进了开发旧版代码的开发人员之间的协作。它们还改善了与更广泛团队的沟通,包括技术水平可能较低的项目经理和客户利益相关者。IDE 与版本控制系统很好地集成,以实现一致的文档记录,并结合代码审查工具进行共享的项目分析和确认。

集成开发环境的类型

为了满足开发者的需求,集成开发环境 (IDE) 种类繁多,涵盖从开源到专有,从初学者友好到更复杂的类型。许多 IDE 提供跨平台支持,而有些则与语言关联度更高。有一些最流行的 IDE 类型。

本地 IDE

本地 IDE 基于开发人员的个人或工作硬件安装和运行。此类 IDE 需要额外的资源库,因此开发人员必须根据项目要求和个人偏好完成下载和本地安装。

本地 IDE 更加可定制,具有几乎没有延迟问题的优点,并且在设置完成后即使没有有效的互联网连接也可以完全运行。然而,设置和配置本地 IDE 可能很麻烦,并且本地计算机与生产环境之间的差异可能会导致意外的软件错误或故障。

本地 IDE 也依赖本地硬件。单凭机器的本地内存资源,本地硬件难以运行本地 IDE,尤其是在处理大量复杂代码时。

本地 IDE 的示例包括:

  • Microsoft Visual Studio
  • Eclipse
  • JetBrains IDE,如 IntelliJ IDEA 和 PyCharm

云 IDE

与本地 IDE 不同,云 IDE 基于浏览器构建,无需开发人员将任何特定软件或库下载到本地硬件。此要求的前提是维持强大的互联网连接,以有效访问云端

与本地 IDE 相比,基于云的 IDE 有几个优势。使用基于云的 IDE 的团队可以创建标准化的开发环境,避免因不同的本地硬件配置差异而可能出现的错误。

通过使用基于云的资源,云 IDE 还可以提供比本地 IDE 更好的性能。某些复杂的 IDE 功能通常需要大量的计算资源。为了防止本地 IDE 运行速度变慢,开发人员可以将这些任务转移到基于云的强大数据中心

云 IDE 的示例包括:

  • AWS Cloud9
  • Replit
  • CodeSandbox

移动应用程序开发 IDE

这些类型的 IDE 是专门为移动应用程序开发而设计的。移动应用程序开发 IDE 通常具有移动技术特定的库和模拟器支持等专有功能。

移动应用程序开发 IDE 的示例包括:

  • 适用于 VS 代码、IntelliJ 等的 Flutter IDE 插件
  • 用于 Android 开发的 Android Studio

特定于数据库的 IDE

数据库编程存在一系列独特的考量因素。这类 IDE 专为数据库开发而构建,且具备内置查询构建器和数据库分析工具等特殊功能。

特定于数据库的 IDE 示例包括:

  • MySQL 工作台
  • Oracle SQL 开发人员
  • pgAdmin

按编程语言或项目划分的 IDE

虽然许多 IDE 的确能提供多语言支持,但某些 IDE 旨在适应部分编程语言的特定参数。同样,其他 IDE 也会根据项目目标进行专项优化。特定于语言或项目的 IDE 的部分示例如下:

Java™

  • IntelliJ IDEA:一款强大的 IDE,旨在支持 Java,具有高级重构、代码分析和构建自动化功能。
  • Eclipse:一种多功能开源 IDE,受益于 GitHub 等公共存储库上提供的大型插件生态系统。
  • NetBeans:一款常用的免费开源 IDE 选项。

Python

  • PyCharm:提供科学计算支持,该 IDE 提供许多对 Python 编码有用的功能。
  • Spyder:另一个专为数据科学和科学计算设计的 IDE,面向 Python 语言。
  • IDLE:这个相对简单的 IDE 非常适合 Python 语言的初学者。

Web 开发

  • Visual Studio Code:这款轻量级且直观的 IDE 已成为 Web 开发中编码人员信赖的环境。
  • WebStorm:专为使用 JavaScript、TypeScript 和类似技术的程序员而设计的 IDE。
相关解决方案
IBM Bob

借助您的 AI 合作伙伴 Bob,加速软件交付,实现安全的意图感知型开发。

深入了解 IBM® Bob
AI 编码解决方案

利用可信的 AI 驱动型工具优化软件开发工作,最大限度地减少编写代码、调试、代码重构或代码补全的时间,从而拓展创新空间。

深入了解 AI 编码解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策能力和商业价值。

深入了解 AI 咨询服务
采取后续步骤

利用生成式 AI 和高级自动化技术加速创建企业就绪代码。Bob 通过建模增强开发人员技能,简化并自动执行开发与现代化工作。

  1. 了解 IBM Bob
  2. 深入了解 AI 编码解决方案