Intellij Idea - 简介

IntelliJ 是 Java 最强大、最受欢迎的集成开发环境 (IDE) 之一。它由 JetBrains 开发和维护,提供社区版和终极版。这个功能丰富的 IDE 可以实现快速开发并有助于提高代码质量。

什么是 IDE 及其优势?

IDE 代表集成开发环境。它是多种工具的组合,使软件开发过程更轻松、更强大且更不容易出错。与纯文本编辑器相比,它具有以下优势 −

  • 与编译器、调试器、版本控制系统、构建工具、各种框架、应用程序分析器等实用工具集成。

  • 支持代码导航、代码完成、代码重构和代码生成功能,从而加速开发过程。

  • 通过插件支持单元测试、集成测试和代码覆盖。

  • 提供丰富的插件集,进一步增强 IDE 功能。

IntelliJ 的功能

IntelliJ IDEA 具有一些顶级的高效 Java 代码完成功能。它的预测算法可以准确地假设程序员试图输入的内容,并替他完成,即使他不知道特定类、成员或任何其他资源的确切名称。

深度洞察

IntelliJ IDEA 真正理解并深入洞察您的代码以及程序员的上下文,这使得它在其他 Java IDE 中如此独特。

  • 智能代码完成 − 它支持基于上下文的代码完成。它提供了当前上下文中适用的最相关符号的列表。

  • 链式代码完成 − 它是一种高级代码完成功能,列出了当前上下文中可通过方法或 getter 访问的适用符号。

  • 静态成员的完成 −它允许您使用静态方法或常量,并自动添加所需的导入语句以避免编译错误。

  • 检测重复 − 它会动态查找重复的代码片段并向用户发出通知/建议。

  • 检查和快速修复 − 每当 IntelliJ 检测到您即将犯错时,同一行就会弹出一个小灯泡通知。单击它会显示建议列表。

开发人员人体工程学

IntelliJ IDEA 围绕编码原则设计,即应允许开发人员尽可能少地分心编写代码。这就是为什么在这种情况下,编辑器是屏幕上唯一可见的东西,并且具有所有其他与编码无关功能的专用快捷方式。

  • 以编辑器为中心的环境 − 快速弹出窗口有助于在不离开当前上下文的情况下检查其他信息。

  • 一切的快捷方式 − IntelliJ IDEA 几乎为所有内容提供了键盘快捷键,包括快速选择和在工具窗口之间切换等等。

  • 内联调试器 − 内联调试器允许您在 IDE 本身中调试应用程序。它使开发和调试过程变得无缝。

内置开发人员工具

为了帮助开发人员组织他们的工作流程,IntelliJ IDEA 为他们提供了一套出色的工具集,其中包括反编译器、Docker 支持、字节码查看器、FTP 和许多其他工具 −

  • 版本控制 − IntelliJ 支持大多数流行的版本控制系统,如 Git、Subversion、Mercurial、CVS、Perforce 和 TFS。

  • 构建工具 − IntelliJ 支持 Java 和其他构建工具,如 Maven、Gradle、Ant、Gant、SBT、NPM、Webpack、Grunt 和 Gulp。

  • 测试运行器和代码覆盖率 − IntelliJ IDEA 让您轻松执行单元测试。 IDE 包括主要测试框架的测试运行器和覆盖率工具,包括 JUnit、TestNG、Spock、Cucumber、ScalaTest、spec2 和 Karma。

  • 反编译器 − IntelliJ 带有用于 Java 类的内置反编译器。当您想要查看没有源代码的库时,无需使用任何第三方插件即可完成。

  • 终端 − IntelliJ 提供内置终端。根据您的平台,您可以使用命令行提示符,如 PowerShell 或 Bash。

  • 数据库工具 − IntelliJ 提供数据库工具,允许您连接到实时数据库;运行查询;浏览和更新数据;甚至可以从 IDE 本身的可视化界面中管理您的模式。

  • 应用服务器 − IntelliJ 支持主要的应用服务器:Tomcat、JBoss、WebSphere、WebLogic、Glassfish 等。您可以将工件部署到应用服务器上,并在 IDE 本身中调试已部署的应用程序。

  • Docker 支持 − 通过单独的插件,IntelliJ 提供了一个专用的工具窗口,可让您连接到本地运行的 Docker 计算机。

Ultimate 版和 Community 版之间的比较

Ultimate 版旨在协助 Web 和企业开发,而 Community 版则专为 JVM 和 Android 开发而设计。让我们考虑一些重要的点,这将有助于我们理解两个版本之间的比较 −

功能 终极版 社区版
许可证 商业 开源,Apache 2.0。用于商业开发。
Java、Kotlin、Groovy、Scala 支持 支持
Android 开发 支持 支持
Maven、Gradle、SBT 支持 支持
Git、SVN、Mercurial、CVS 支持 支持
检测重复 支持 不支持
Perforce、TFS 支持 不支持
JavaScript、TypeScript 支持 不支持
Java EE、Spring、GWT、Vaadin、Play、Grails、其他框架 支持 不支持
数据库工具、SQL 支持 不支持