为什么要选择 IDEA 做 Java 开发?

更新时间 2023-01-03 11:55:26

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1700+ 小伙伴加入学习 ,欢迎点击围观

前言

大家好,我是小哈。

上小节 中,我们了解了什么是 IDEA。那么,你可能会有疑问,为什么要选择 IDEA 做 Java 开发 , 相比较同类型的其他代码编辑器,它的优势在哪里呢? 本文就来详细说一说。

缘起

其实,在 Java 编程中,真正能够被推荐的、且被应用于生产环境中的代码编辑器并不多,至少在小哈工作的这七八年时间内,我只用过两款代码编辑器, 分别是 Eclipse(包括 MyEclipse)以及 IDEA。

从在校期间到 2014 年我毕业工作的头几年,我一直在用 Eclipse 从事 Java 开发(当时在企业开发中 Elipse 还是最流行的),后来偶然发现了 IDEA,说实话,第一眼是被其炫酷的 UI 界面吸引住了,没错,就是那暗黑的 UI 界面。于是,趁在公司摸鱼时间,偷偷下载了 IDEA,开始了 IDEA 之旅。深入接触后,对 IDEA 也是越来越爱不释手,最终成了死忠粉,后面开始各种给同事安利 IDEA 。转眼到现在,入职新公司基本都是清一色的 IDEA ,感触还是挺多的~

IDEA 功能介绍

以下功能介绍摘取自 IDEA 官方,相信你看完后就知道为啥选择 IDEA 做 Java 开发了。

TIP : 友情小提示,对于初学者,功能介绍中会涉及到各种听不懂的技术名词,没接触过咋办?其实不用慌,大致了解下就行,在你后面的学习、工作中,都会慢慢了解到,现下先从基础开始学习,一步步来

它是一款符合人体工程学的开发工具

IntelliJ IDEA 的每个方面都旨在为您提供无缝的开箱即用体验。 它提供了对所有关键功能和集成工具的快速访问以及广泛的自定义选项。 您可以根据工作流自由微调:设置快捷键、安装插件、按照个人偏好自定义界面等。

上手轻松

即使这是您第一次使用 IDE,您也不会花费太长时间即可启动和运行您的第一个项目。 在 New Project 向导中,您可以设置项目类型、Java 版本和支持的构建工具(如 Maven 和 Gradle);IntelliJ IDEA 将为您配置其余所有设置。 这意味着您在 IntelliJ IDEA 启动后就能立即开始工作。 您也可以打开项目、导入现有 Maven 或 Gradle 项目,以及从版本控制系统中提取项目。

上手轻松上手轻松

全面覆盖的键盘快捷键

从查看最近的文件到运行和调试项目,IntelliJ IDEA 拥有几乎全面覆盖的键盘快捷键。 一种普遍适用的快捷键是按两次 Shift (Search Everywhere), 这可以让您找到项目内部或外部的任何条目。 您的搜索范围可以为文件、操作、类和符号,也可以为设置、UI 元素,甚至是 Git 历史记录。

全面覆盖的键盘快捷键全面覆盖的键盘快捷键

支持丰富的主题

作为开发者,您可能会花费很长时间在屏幕前编码,因此选用柔和不刺眼的 UI 非常重要。 我们提供多种选择,为您营造舒适的工作环境。 您可以使用标准颜色主题,例如 IntelliJ Light 或 Darcula,或配置 IntelliJ IDEA 将其主题与您的操作系统偏好设置同步。

或者,您也可以从超过 100 种界面自定义主题 中选择,给 IDE 换上一个全新外观。 无论您是偏爱 Solarized 的加州阳光,还是想来点 Dark Purple Theme 的紫色氛围,IntelliJ IDEA 都有适合您的主题。

支持丰富的主题支持丰富的主题

自定义任何地方

JetBrains 致力于让所有人都能不受阻碍地使用我们的产品。 IntelliJ IDEA 让您可以根据个人需求启用多种无障碍功能。 例如,屏幕阅读器已与 IntelliJ IDEA 兼容。 您还可以为不同的 UI 元素配置颜色、为滚动条添加对比色、调整工具窗口的大小和编辑器中文本的大小,等等。

自定义任何地方自定义任何地方

丰富的插件支持

如果您想用额外功能补充 IDE 的核心功能,您可以使用插件扩展 IntelliJ IDEA。 我们支持广泛的插件生态系统,几乎可以满足开发者的所有需求。 尝试使用 Kubernetes 插件管理容器化应用程序,或者获取一个可爱的 Nyan Progress Bar ! 您可以通过 Preferences | Settings / Plugins 安装所有插件。

丰富的插件支持丰富的插件支持

快速导航和搜索

IntelliJ IDEA 提供了多种功能,使导航更快、搜索更方便,帮助您专注于代码并更高效地工作。

随处搜索

Search Everywhere 对话框可以查找存储在代码库中的任何内容,例如类和符号。 更重要的是,您可以搜索文件甚至 IDE 工具窗口。 要调用此对话框,请按两下 Shift,开始键入您要查找的名称。

随处搜索随处搜索

在文件中查找

另一个强大的搜索工具是 Find in Files,它可以在您的项目中搜索文本字符串并应用多种选项缩小搜索范围。 例如,您可以使用各种范围、查找匹配项以及将某些条目排除在搜索之外。

要调用此工具,请高亮显示要查找的字符串,然后在 macOS 上按 ⇧⌘F 或在 Windows 和 Linux 上按 Ctrl+Shift+F。 IDE 会自动将其置于搜索字段。

在文件中查找在文件中查找

快速定义

在 IntelliJ IDEA 中,标记、类、字段、方法或函数等符号在项目中的定义位置和方式非常易于检查。 使用一个简单的快捷键访问 Quick Definition 弹出窗口即可完成所有操作。 在编辑器中选择所需符号,然后在 macOS 上按 ⌥Space 或在 Windows 或 Linux 上按 Ctrl+Shift+I。

快速定义快速定义

结构化搜索和替换 (SSR)

SSR 不仅善于查找和替换代码模式,还会考虑代码的语法和语义。 最简单的使用方法是从现有模板开始,您可以手动更改或添加筛选器缩小搜索范围。 可以将修改后的模板另存为新模板。

结构化搜索和替换 (SSR)结构化搜索和替换 (SSR)

查找用例

最佳做法是在更改代码元素之前查找并分析其所有用法。 默认情况下,如果您在源代码中选择了符号,IntelliJ IDEA 将自动高亮显示其在当前文件中的所有用法。 如果您需要查看整个项目的用法列表,将文本光标置于符号内,在 macOS 上通过 ⌥F7 或在 Windows 和 Linux 上通过 Alt+F7 调用 Find Usages 操作。

查找用例查找用例

框架特定的导航

在 IntelliJ IDEA 中使用框架时,可以通过间距图标浏览代码。 点击即可查看每个框架支持的所有导航选项的列表。 此外,URL 也可点击,允许您从客户端访问服务。

框架特定的导航框架特定的导航

运行、测试和调试

IntelliJ IDEA 带有强大的工具包,用于设置应用程序的运行和构建参数、调试代码,以及直接在 IDE 中应用和开发 JUnit 测试。

运行

您可以在 IntelliJ IDEA 中运行应用程序:只需点击窗口顶部工具栏中或编辑器间距中类声明附近的绿色 play 按钮。 如果您需要自定义程序的启动方式,您可以使用包含各种运行和构建属性的运行/调试配置 ,包括所需的 JDK/JRE、您希望运行项目的环境等。

运行运行

Run Targets

借助 Run Targets 功能,您可以在 Docker 容器或远程机器上运行、测试、分析和调试应用程序。 IntelliJ IDEA Ultimate 可以在 Docker、SSH 和 WSL 目标上运行 Java 应用程序和 JUnit 测试,以及 Maven、Gradle、Micronaut、基于 Maven 的 Quarkus 和 Spring Boot 项目。

Run TargetsRun Targets

测试

IntelliJ IDEA 支持最流行的测试框架,如 JUnit、TestNG、Cucumber、Arquillian JUnit 和 Selenium (可以在插件市场中获取)。 IDE 配备了一个环境和一组工具,用于开发和运行有效且可读的自动化测试。 您可以使用快捷键在测试类和源代码之间切换,运行多个测试,查看每个测试的统计信息等。 对于分析,可以使用代码覆盖率功能显示单元测试覆盖的代码百分比。

测试测试

调试

调试器是一种必不可少的工具,用于检测错误和查看程序内部情况。 要准备调试,请在程序执行的暂停位置设置断点并检查程序的状态和行为。 设置断点后,即可开始调试。 您将在 Debug 工具窗口中找到结果。

IntelliJ IDEA 的调试器具有多种独特功能。 在调试代码时,IDE 会在源代码中的用法旁显示变量值,并允许您更改这些值。 您也可以使用 Smart Step-Into 操作选择要调试的特定方法调用。

调试调试

内置工具和集成

IntelliJ IDEA 具有任务关键型内置工具和集成,可帮助您在熟悉的环境中工作并避免切换应用程序。

构建工具

IntelliJ IDEA 包括与 Maven Gradle Ant Gant 构建工具的全功能集成,有助于自动执行构建过程。 IDE 提供用于编译和打包 Java 代码、运行测试、部署和其他活动的内置选项

构建工具构建工具

终端

借助 IntelliJ IDEA 的内置终端 ,您可以从 IDE 使用命令行 shell,无需切换到专用终端应用程序。 它支持您的操作系统的所有命令。 在终端中,当您看到高亮显示的命令时,您可以点击 URL 和堆栈跟踪,或者在 macOS 上按 ⌘⏎ 或在 Windows 和 Linux 上按 Ctrl+Enter 轻松返回 IntelliJ IDEA UI。

终端终端

数据库支持

您可以使用 IntelliJ IDEA Ultimate 附带的数据库工具 直接从 IDE 管理数据库。 编辑 SQL 查询时充分利用智能编码辅助;连接至实时数据库;运行查询;浏览和导出数据;甚至通过可视化界面管理架构。

数据库支持 数据库支持

分析器

内置分析器 能够分析代码并提供有关其 CPU 密集型和内存密集型部分的准确信息,帮助您优化应用程序性能。 在 IntelliJ IDEA 中,您可以打开 *.jfr*.hprof 快照,将分析器附加到正在运行的进程,并查看呈现正在运行的应用程序中 CPU 和内存消耗的实时图表。 IntelliJ IDEA 与 Async Profiler 和 Java Flight Recorder 分析器工具的集成可让您直接从 IDE 执行所有操作。

分析器 分析器

HTTP 客户端

如果您开发 Web 服务,您很可能需要通过发送和接收 HTTP 请求进行测试。 此类请求存储在 .http.rest 文件中,您可以在 HTTP 客户端中创建、编辑和执行这些文件。 此工具内置于 IntelliJ IDEA 编辑器中,可为您的 HTTP 请求提供广泛的编码辅助,包括代码补全、高亮显示、重构等。 您可以从源代码轻松访问 HTTP 客户端:点击 URL 旁边的地球图标并选择 Open in HTTP client

HTTP 客户端HTTP 客户端

反编译器

IntelliJ IDEA 带有内置反编译器,可将字节码转换为人类可读的 Java 代码并对其进行调试。 例如,当您在 .jar 文件中打开库而没有其源代码时,IDE 将显示其可读内容。 编辑器上方的黄色面板会通知您正在处理反编译文件。 如果需要,您可以在反编译代码中设置断点并进行调试。

反编译器反编译器

版本控制

IntelliJ IDEA 开箱即支持最流行的版本控制系统,例如 Git、Subversion、Mercurial 和 Perforce。 您可以直接在欢迎屏幕中从 VCS 克隆项目,检查两个修订之间的差异,管理分支,提交和推送变更,合并冲突,查看历史,等等。

Git 支持

IntelliJ IDEA 提供 Git 集成,让您可以从 Git 克隆项目,提交和推送变更,处理多个分支,管理变更列表以及在提交之前暂存更新。 在 IntelliJ IDEA 中,您可以使用 Git 工具窗口中的 Log 选项卡或使用相应的 History 视图访问整个项目以及各个文件夹和文件的历史记录。 在编辑器中,可以像 git blame 一样使用历史数据注解文件。

Git 支持Git 支持

GitHub 支持

您可以直接从 IntelliJ IDEA 管理在 GitHub 平台上托管的 Git 项目。

可以通过 gist 克隆仓库、共享项目和共享代码。 此外,IntelliJ IDEA 还支持创建、合并和查看拉取请求。

GitHub 支持GitHub 支持

本地历史

Local History 是用于跟踪您所做变更的出色工具。 此功能还允许您回滚到任何项目状态、撤消变更以及恢复任何意外删除的文件。

本地历史本地历史

JVM 框架

IntelliJ IDEA Ultimate 为面向现代应用程序和微服务开发的领先框架和技术提供了一流支持。 您的 IDE 具有 Spring 和 Spring Boot、Jakarta EE、JPA、Reactor 和其他框架的专属辅助。

Spring 和 Spring Boot

对于 Spring 和 Spring Boot 框架,IntelliJ IDEA Ultimate 提供智能代码洞察、检查、即时代码导航和高度可自定义的运行配置。 它提供的内置工具可让您运行和测试 Spring 应用程序并使用 HTTP 请求和数据库工具。 您还可以在 Endpoints 工具窗口中针对 HTTP 和 WebSocket 协议获取项目中所用客户端和服务器 API 的聚合视图。

Spring 和 Spring Boot Spring 和 Spring Boot

Jakarta EE 和 MicroProfile API

在 IntelliJ IDEA Ultimate 中,您可以基于 Jakarta EE 和 MicroProfile 规范开发 Java 企业应用程序。 IntelliJ IDEA Ultimate 支持所有 Jakarta EE 功能,包括 CDI、JPA、Batch、Bean 验证、JSF、JAX-RS、WebSocket、Servlets、JSP、JSON 绑定和处理、安全性以及 EJB 和 JTA 规范。

Jakarta EE 和 MicroProfile API Jakarta EE 和 MicroProfile API

微服务框架 - Micronaut、Quarkus、Helidon

IntelliJ IDEA Ultimate 支持最常用的微服务框架 - Micronaut、Quarkus 和 Helidon。 IntelliJ IDEA 为所有框架提供了智能编码辅助、Endpoints 集成以及项目创建向导。

微服务框架 - Micronaut、Quarkus、Helidon 微服务框架 - Micronaut、Quarkus、Helidon

持久层框架 - JPA、Hibernate

使用大量 Java 对象时,您可能希望将其存储在数据库中。 持久性框架为此提供了一组实用方法和类。 IntelliJ IDEA Ultimate 与最常用的框架集成,包括 Jakarta Persistence (JPA)、Hibernate 和 R2DBC。 您可以立即获取针对特定框架的编码辅助、框架配置自定义功能,以及用于查看和管理各种 JPA、Hibernate 和 R2DBC 条目的 Persistence 工具窗口。

持久层框架 - JPA、Hibernate持久层框架 - JPA、Hibernate

客户端和 JavaScript 开发

需要为您的 Web 应用程序处理 UI 或使用 Node.js 进行开发? IntelliJ IDEA Ultimate 帮您解决! 它包含 WebStorm (我们面向 JavaScript 和相关技术的 IDE)的所有功能。 所有功能均开箱即用或通过免费插件实现。

JavaScript 和相关技术支持

您可以使用 IntelliJ IDEA Ultimate 以 JavaScript、TypeScript、React、Vue、Angular、Node.js 和其他相关技术构建应用程序。 您可以使用在处理 Java 时已经习惯的所有高级编码辅助。

JavaScript 和相关技术支持JavaScript 和相关技术支持

HTML 和 CSS

您还可以在 IntelliJ IDEA 中使用 HTML 和样式表。 就像使用其他语言和技术一样,您将获得高级编码辅助,包括代码补全、导航和重构。 此外,您可以直接在 IDE 中预览静态 HTML 文件。 您对 HTML 文件或链接的 CSS 和 JavaScript 文件所做的变更将被保存,预览将自动重新加载。

HTML 和 CSSHTML 和 CSS

JavaScript 调试

在 IntelliJ IDEA 中,您可以借助 Chrome 运行和调试您的 Node.js 代码和客户端应用。 放置断点,逐步执行代码,设置监视等 – 在从普通 JavaScript 到 TypeScript 和 Vue 项目的各种不同类型的应用程序中,所有编辑器操作都具有统一的体验。

JavaScript 调试JavaScript 调试

模板语言

IntelliJ IDEA Ultimate 支持 Thymeleaf、Velocity、Liquid、Go Template、Mustache 和其他模板语言。 它提供了代码高亮显示、自动补全、检查、上下文操作和多种智能功能,帮助您轻松开发模板。

模板语言 模板语言

部署

为了跟上现代软件开发的步伐,IntelliJ IDEA Ultimate 提供了与最流行容器编排系统 Kubernetes 和 Docker 的集成。 我们还有用于将代码部署到 AWS、Google Cloud 和 Azure 的第三方插件。

应用程序服务器

IntelliJ IDEA 与主流应用程序服务器集成,包括 Tomcat、JBoss、WebSphere、WebLogic 和 Glassfish 等。 您可以直接从 IDE 启动和停止本地服务器,连接到正在运行的远程服务器,在服务器上部署工件 ,甚至在服务器上调试应用程序。

应用程序服务器应用程序服务器

Docker

IntelliJ IDEA 完全支持 Docker 集成。 您可以在 Docker 容器中运行和调试应用程序,下载和构建镜像,使用 Docker Compose 运行多容器应用程序等,所有操作均在 IDE 中执行。

IntelliJ IDEA Ultimate 提供了开箱即用的 Docker 集成。 对于 IntelliJ IDEA Community Edition,您可以在 IDE 内部转到 Preferences/Settings | Plugins,从 JetBrains Marketplace 下载 Docker 插件。

DockerDocker

Kubernetes

IntelliJ IDEA Ultimate 与用于部署、扩展和管理容器化应用程序的开源系统 Kubernetes 完全集成。 您可以浏览集群对象并提取其配置,查看和下载 pod 日志,在 pod 中运行 shell,从编辑器应用资源 YAML 配置,以及从集群中删除资源。 此外,IntelliJ IDEA Ultimate 还提供丰富的 YAML 支持和基本的 JSON 支持,包括自动补全、快速文档、检查和快速修复。

KubernetesKubernetes

协作和团队合作

协作开发 (Code With Me)

IntelliJ IDEA 为协作开发和结对编程提供了一项服务 - Code With Me 。 利用此服务,您可以与其他人共享 IDE 中当前打开的项目,并实时协同处理。 Code With Me 还具有来自 IDE 的视频和语音通话功能,允许您组织一对一会议和包含数十名参与者的小组会议。

协作开发 (Code With Me)协作开发 (Code With Me)

Space 集成

IntelliJ IDEA 集成了适用于软件项目和团队的一体化解决方案 JetBrains Space 。 将 IntelliJ IDEA 连接到您的 Space 组织以查看和克隆项目仓库、审查队友的代码以及编写 Space Automation 脚本。

Space 集成Space 集成

远程开发

IntelliJ IDEA Ultimate 支持测试版本的远程开发工作流。 您可以从世界任何地方轻松连接到运行 IntelliJ IDEA 后端的远程计算机。 所有处理都将在这台强大的远程计算机上进行,您将能够像在本地计算机上一样无缝地处理项目。 可以在 IntelliJ IDEA 的欢迎屏幕或通过 JetBrains Toolbox App 中新增的 JetBrains Gateway 应用程序启动此功能。

远程开发远程开发