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 | 支持 | 不支持 |