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 计算机。

旗舰版与社区版的比较

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

特征 终极版 社区版
执照 商业的 开源,Apache 2.0。用于商业开发。
Java、Kotlin、Groovy、Scala 支持的 支持的
安卓开发 支持的 支持的
Maven、Gradle、SBT 支持的 支持的
Git、SVN、Mercurial、CVS 支持的 支持的
检测重复项 支持的 不支持
佩弗斯、TFS 支持的 不支持
JavaScript、打字稿 支持的 不支持
Java EE、Spring、GWT、Vaadin、Play、Grails、其他框架 支持的 不支持
数据库工具、SQL 支持的 不支持