IntelliJ IDEA 快速指南



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 支持 支持
Android 开发 支持 支持
Maven、Gradle、SBT 支持 支持
Git、SVN、Mercurial、CVS 支持 支持
检测重复代码 支持 不支持
Perforce、TFS 支持 不支持
JavaScript、TypeScript 支持 不支持
Java EE、Spring、GWT、Vaadin、Play、Grails、其他框架 支持 不支持
数据库工具、SQL 支持 不支持

IntelliJ IDEA - 安装与配置

在本章中,我们将了解如何安装和配置 IntelliJ IDEA。此过程的第一步是从选择版本开始。根据您的需求,您可以下载社区版或旗舰版。顾名思义,社区版是完全免费的,我们也可以将其用于商业开发。但是,旗舰版是付费版本,我们可以免费试用 30 天。

在 Windows 上安装

IntelliJ 几乎兼容 2003 年之前的 Windows 所有版本。完整的列表如下:Windows 10/8/7/Vista/2003/XP。建议您在 Windows 上安装 IntelliJ 之前关闭所有其他应用程序。

系统要求

  • 建议至少 2 GB RAM 以确保流畅性能。

  • 为了获得更好的视觉效果,建议使用 1024x768 的屏幕分辨率。

  • 安装需要至少 300 MB 磁盘空间,缓存需要额外 1 GB。

下载和安装

  • 下载 - 您可以在其官方网站上下载 Windows 安装程序。

  • 安装 - 让我们从安装开始,然后是配置步骤。IntelliJ 的安装类似于其他软件包。只需双击安装程序并按照屏幕上的说明完成安装过程。

在 Linux 上安装

要在 Linux 平台上安装 IntelliJ,您需要注意的是,未捆绑 32 位 JDK,因此建议使用 64 位系统。

系统要求

  • GNOME、KDE 或 XFCE 桌面环境

  • 建议至少 2 GB RAM 以确保流畅使用。

  • 安装需要 300 MB 磁盘空间,缓存需要额外 1 GB。

  • 为了获得更好的视觉效果,建议使用 1024x768 的屏幕分辨率。

下载和安装

  • 下载 - 您可以在其官方网站上下载适用于 Linux 的 IntelliJ。

  • 安装 - 我们已下载 tar.gz 压缩包。请注意,在我们的例子中,压缩包名称为 ideaIC-2017.2.5.tar.gz。它可能会因版本/版本而异。请使用相应的压缩包名称。

First extract it using following command:
$ tar xvf ideaIC-2017.2.5.tar.gz
It will create new directory with idea-IC-172.4343.14 name. 
Now change directory to idea-IC-172.4343.14/bin/ and execute idea.sh shell script as shown below:
$ cd idea-IC-172.4343.14/bin/
$ ./idea.sh
Follow on-screen instructions to complete installation procedure.

配置 IntelliJ

这两个平台上的配置步骤相似。要开始配置,请启动 IntelliJ 应用程序。或者,您可以从此向导中导入现有配置。单击“下一步”按钮继续。

步骤 1 - 如果您使用的是旗舰版,则会弹出一个许可证激活窗口。选择“免费试用”选项,然后单击“试用”按钮,如下面的图片所示。

License Activation

步骤 2 - 接受许可证协议以继续,并按照屏幕上的说明启动 IntelliJ。您将看到 IntelliJ 的欢迎屏幕。

步骤 3 - 现在,是时候将 Java 开发工具包(以下简称 JDK)与 IntelliJ 配置在一起了。如果尚未安装 JDK,请按照此处的说明进行操作。

  • 在欢迎屏幕上,单击“配置”。

  • 从下拉列表中选择“项目默认设置”。

  • 选择“项目结构”选项。

Project Structure
  • 从“平台设置”菜单中选择“SDK”选项。

  • 单击“加号”图标并选择“JDK”选项。

  • 选择 JDK 的主目录,并按照屏幕上的说明进行操作。

Platform Settings

IntelliJ IDEA - 熟悉环境

在本章中,我们将更深入地了解 IntelliJ IDEA。要讨论任何工具的优势和功能,必须熟悉该工具,IntelliJ 也不例外。

本章概述了 IntelliJ。本章首先讨论 IDE 的可视化元素和配置设置,最后讨论 JVM 和平台属性。

可视化元素

IDE 的重要方面之一是其可视化元素。识别和理解可视化元素使您能够以更快速和更简单的方式执行操作。下面的屏幕截图及其上的标签显示了 IntelliJ 的主界面。

Visual Elements
  1. 菜单栏 - 菜单栏提供创建新项目和其他与项目相关的操作选项,例如代码重构、构建、运行、调试、版本控制选项等等。

  2. 工具栏 - 工具栏提供编译、调试和运行选项的快捷方式。您可以根据需要自定义它。

  3. 导航栏 - 导航栏使在项目中更容易导航。随着代码库的增大,此功能非常方便。

  4. 工具选项卡 - 工具选项卡显示在主窗口的两侧。在这里,您可以访问重要的工具,例如数据库、Maven/Ant 构建等等。

  5. 项目视图 - 项目视图窗口显示项目的各种元素,例如包、模块、类、外部库等等。

  6. 编辑器窗口 - 这是开发人员花费大部分时间的地方。编辑器窗口允许您使用语法高亮显示和其他有用功能来编辑/编写代码。

在主窗口底部,有一个状态栏,显示有关文件的一些其他属性,例如其格式和编码类型。它还提供切换当前文件只读属性的选项。您还可以从此处管理检查级别。

使用插件

插件有助于扩展 IntelliJ 的功能。它提供了大量插件,从数据库、版本控制、性能分析到其他各种功能。

Plug-ins Ranging

管理插件的步骤

按照以下步骤管理插件 -

  • 转到“文件”→“设置”菜单。

  • 在左侧窗格中选择“插件”选项卡。

  • 此窗口列出了所有已安装的插件。每个插件名称右侧都有一个复选框。切换该复选框可启用/禁用插件。

  • IntelliJ 在线插件存储库可在此处使用。要添加/删除插件存储库,请单击“浏览存储库”按钮,它将提供执行必要操作的方法。

  • 此外,它还允许离线安装插件。为此,请下载插件并选择“从磁盘安装插件”按钮,然后导航到下载路径。

要对插件执行其他操作(如卸载、更新和排序),请右键单击任何插件。它将显示一个下拉菜单,从中您可以选择其中一项操作。

使用设置

本节提供了一些管理设置的重要提示。它使您能够导入、导出和共享 IntelliJ 设置。

导出设置

它允许将当前设置导出为 jar 文件。

  • 转到“文件”→“导出设置”。

  • 导出设置窗口列出了与 UI、调试器、SDK 以及其他内容相关的可用设置。

  • 它提供了一个用于选择的复选框。选择完成后,单击“确定”按钮将设置保存到本地磁盘。

导入设置

它允许导入存储在 jar 文件中的设置。

  • 转到“文件”→“导入设置”。
  • 通过导航文件夹结构选择设置 jar 文件。
  • 单击“确定”按钮。

共享设置

IntelliJ IDEA 允许您在不同的实例之间共享您的 IDE 设置。当您希望在团队或组织内应用相同的设置时,这尤其有用。此操作的先决条件是启用 **设置存储库** 插件。它默认情况下已安装并启用。

要确保其状态 -

  • 转到“文件”→“设置”→“插件”。

  • 搜索设置存储库插件。

我们可以将当前设置存储在 GitHub/Bitbucket 上并在其他实例上应用它们。要存储当前设置 -

  • 转到“文件”→“设置存储库”。

  • 在“上游 URL”对话框中键入 Git 存储库 URL。

  • 单击“覆盖远程”按钮。

  • 要将相同的设置应用于其他实例,请单击“覆盖本地”按钮。

配置 JVM 选项和平台属性

我们可以通过导航到 **“帮助”→“编辑自定义 VM 选项”** 菜单来配置 JVM 选项。以下是一些我们可以设置的重要 JVM 选项。

  • **–server** - 它允许选择 Java HotSpot Server VM。

  • **-Xms<size>** - 它设置初始 Java 堆大小。默认值为 128 MB。

  • **-Xmx<size>** - 它设置最大 Java 堆大小。默认值为 750 MB。

  • **-Xss<size>** - 它设置 Java 线程堆栈大小。

  • **–XX** - 它允许设置 GC 算法和其他属性。

Intellij Idea - 创建第一个 Java 项目

现在是时候我们体验一下 IntelliJ 了。在本章中,我们将创建我们的第一个 Java 项目。我们将编写并执行传统的 **Hello World** 程序。本章介绍 Java 应用程序的编译和运行。

创建项目

对于与开发相关的所有内容,开发人员都必须使用 IntelliJ 创建一个新项目。让我们按照以下步骤创建项目 -

  • 启动 IntelliJ。

  • 转到 **“文件”→“新建”→“项目”** 菜单。

  • 选择 Java 项目和相应的 SDK,然后单击“下一步”按钮。

Java Project
  • 如果要创建具有 main 方法的 Java 类,请选择“从模板创建项目”复选框。

  • 从下面显示的对话框中选择命令行应用程序,然后继续。

  • 输入项目名称和目录位置。

  • 单击“完成”按钮。

创建包

在 Java 项目下创建一个包,可以单独创建,也可以在创建类时同时创建。让我们按照以下步骤创建包 -

  • 转到项目透视图。

  • 右键单击“项目”,选择 **“新建”->“模块”** 选项。

Project Perspective
  • 新的模块窗口将类似于新项目。选择 Java 选项和相应的 SDK,然后单击“下一步”按钮。

  • 输入模块名称。

  • 单击“完成”按钮。

创建 Java 类

在本节中,我们将学习如何创建 Java 类。Java 类可以在 Java 模块下创建。请按照以下步骤创建模块 -

  • 转到项目透视图。

  • 展开“项目”并从模块中选择 **src** 目录。

  • 右键单击它;选择 **“新建”->“Java”** 类选项。

  • 在对话框中输入类名,然后单击“确定”按钮。

  • 它将打开带有类声明的编辑器窗口。

运行 Java 应用程序

现在我们将看到如何运行 Java 应用程序。请按照以下步骤操作,并查看其运行方式 -

  • 让我们编写一个简单的代码,它将在控制台上打印一条消息。在编辑器窗口中输入以下代码 -

public class HelloWorld { 
   public static void main(String[] args) { 
      System.out.println("Hello, World !!!"); 
   } 
}
  • 转到“运行”菜单并选择“运行”选项。

  • 选择类名,然后单击“运行”。

  • 如果没有编译错误,它将在窗口底部显示输出。

Java Application

Intellij Idea - 深入探讨

本教程的前四章旨在为初学者提供 IntelliJ 的基本概述。本节深入探讨 IntelliJ,并详细讨论项目、其格式以及其他内容。

了解项目

项目是您正在处理的应用程序或软件。它可以包含多个模块、类、库、配置等。它是层次结构中的最高级元素。

了解模块

模块位于“项目”之下。模块是一个独立的实体,可以独立于其他模块进行编译、调试和运行。单个项目可以包含多个模块。您可以随时向项目添加或删除模块。

此外,我们还可以导入现有的模块。请按照以下步骤导入现有的模块 -

  • 转到“文件”→“项目结构”。
  • 选择“模块”并单击加号图标。
  • 它将显示导入模块的选项。
Modules Feature

了解文件夹

**内容根目录** 是一个包含构成模块的所有文件的文件夹。一个模块可以有多个内容文件夹。文件夹分为以下类型 -

  • **源代码** - 通过将此类别分配给文件夹,我们指示 IntelliJ,此文件夹及其子文件夹包含 Java 源代码,并且应将其作为编译过程的一部分进行编译。

  • **测试** - 通过将此类别分配给文件夹,我们指示 IntelliJ,它是单元测试的位置。此文件夹可以访问“源代码”文件夹中的类。

  • **资源** - 它表示项目中使用的各种资源文件,例如图像、XML 和属性文件。在编译过程中,此文件夹的内容将按原样复制到输出文件夹。

  • **排除** - IntelliJ 不会索引排除文件夹中的内容。这意味着 IntelliJ 不会提供代码补全建议和其他提示。例如,输出目录和目标目录默认情况下会被排除。

  • **测试资源** - 这类似于资源,并用于单元测试。

Content Root

了解库

库是不同类的编译。库支持代码重用。在 Java 中,库可以封装在 ZIP、Jar 或简单的文件夹中。我们可以在三个不同的级别定义库。级别为 - 全局、项目和模块级别。

  • **全局级别** - 由所有项目共享。

  • **项目级别** - 由项目的全部模块共享。

  • **模块级别** - 由这些模块的类共享。

了解方面

方面是模块的扩展。它们为框架和技术添加了支持。当方面添加到模块时,IntelliJ 会识别它并添加支持。例如,编辑器中的提示和帮助、窗口栏中的新工具、依赖项下载等。您可以从 **“文件”→“项目结构”** 窗口添加方面,如下所示 -

Window Bar

工件

工件是项目的输出。它可以是简单的 JAR 文件、Java EE 应用程序或 Java EJB 应用程序。如果我们使用 Gradle 或 Maven 等外部构建工具,则 IntelliJ 将自动为它们添加工件。可以通过导航到 **“文件”→“项目结构”** 创建工件,如下所示 -

Artifacts

导入现有项目

在本节中,我们将了解如何导入现有项目。我们可以通过两种方式导入项目 -

  • 从现有源导入
  • 从构建模型导入。

目前,它支持 Gradle 和 Maven 构建工具。要导入项目 -

  • 导航到“文件”→“新建”→“从现有源导入项目”。
  • 选择现有项目的目录、Maven 的 pom.xml 或 Gradle 的构建脚本。
  • 单击“确定”按钮。
Importing Existing Project

项目格式

IntelliJ 支持两种类型的项目格式,一种是 **基于目录的**,另一种是 **基于文件的**。基于目录的格式是较新的格式,建议使用。默认情况下,IntelliJ 创建基于目录的项目格式。您可以在创建新项目时选择项目格式。在新的项目窗口中,只需单击“更多设置”,如下面的图像所示 -

Project Formats

基于目录的项目格式

此格式有助于在您的项目中创建 idea 文件夹并将所有配置文件保存在该文件夹中。设置被分组到 xml 文件中。例如,它将创建 **misc.xml、modules.xml、workspace.xml** 等。以下屏幕截图将帮助您了解其工作原理 -

Directory-based Project Format

基于文件的项目格式

它将创建两个项目文件,扩展名为 **..ipr** 和 **wpr**。ipr 文件将包含特定于项目的设置,而 wpr 文件将包含特定于工作区的设置。

File-based Project Format

要将基于文件的项目转换为基于目录的项目,请转到 **“文件”→“另存为基于目录的格式”**。

基于目录的与基于文件的项目格式

与基于文件的项目格式相比,基于目录的项目格式将设置存储在具有有意义名称的单独文件夹中。其他差异包括 -

  • 相关的设置存储在单个文件中,这使得在基于目录的项目格式中更易于管理。

  • 如果文件夹包含 idea 子文件夹,则 IntelliJ 会识别该项目。因此,您无需显式选择 ipr 项目。

  • 基于目录的项目格式将设置分解成多个文件,因此更容易选择要存储在版本控制系统中的特定类型的设置。

Intellij Idea - 深入编辑器

编辑器是开发人员花费大部分时间的地方。掌握编辑器是提高任何资源生产力的第一步。本章讨论了编辑器的可视元素、最常见的编辑器操作以及 **SonarLint** 插件,该插件提供 lint 检查。

编辑器的可视元素

IntelliJ 具有许多功能,其中包括旨在帮助开发人员导航和了解其编码实际状态的可视元素。

现在让我们了解不同的功能 -

装订线区域

编辑器的装订线区域位于 IDE 的左侧,如下面的图像所示 -

Gutter Area

标签

现在我们将了解标签是如何工作的。上面的截图用数字标注了。我们现在来看看这些数字代表什么。

  • 在这里我们可以看到行号以及其他有用的选项。如果你仔细观察,在类名和主方法之前有一个小的绿色三角形。它提供了运行、调试和运行带覆盖率的应用程序的选项。只需点击三角形图标,它就会提供选项。

  • 你可以在第 6 行看到一个小加号符号。这是代码折叠功能。如果你点击那个图标,它就会展开它。代码折叠可以在类、方法、循环和其他块级别进行。

  • 在第 11 行和第 14 行,有两个相互指向的箭头。标记代表方法的起始和结束位置。如果你点击任何一个箭头,它就会对该代码块执行折叠操作。当采取某些操作时,代码行区域会显示各种符号;例如,它会显示断点、Java 注解的符号。

状态栏

在编辑器窗口的底部,有一个状态栏,它显示有关当前文件和项目状态的信息。

Event Log Status Bar
  • 在第一张图片中,16:1 分别表示当前行号和列号。

  • 接下来是行分隔符,对于 UNIX 和 mac OS,它是 \n,对于 Windows,它是 \r。

  • UTF-8 表示文件编码。

  • 接下来是图标。我们可以通过点击它来切换文件的只读属性。

  • 最后,有一个带人脸的符号。它允许管理代码检查级别。

    • 当我们在编辑器中输入代码时,IntelliJ 会动态检查代码并显示提示/建议。我们可以从这里决定检查级别。例如,我们可以完全禁用它,或者只允许对语法进行检查,等等。

    • 我们还可以从这里启用省电模式,这将禁用后台代码分析和其他后台作业。

  • 状态栏还显示有关项目操作的信息。例如,第二张图片显示了有关项目编译的信息。

草稿

IntelliJ 提供了一个临时编辑器。你可以在不修改当前项目结构的情况下创建文本或代码片段。它提供了两种类型的临时文件:

草稿文件

它们是可运行的、可调试的。要创建草稿文件:

  • 转到文件 → 新建 → 草稿文件。

  • 选择你选择的语言。

  • 它将在 IntelliJ-安装目录\config\scratches 文件夹中创建一个文件。

草稿缓冲区

这仅用于创建任何文本。要创建草稿缓冲区:

  • 按 Ctrl + Shift + A 或点击“搜索所有内容”图标

  • 它将弹出对话框。

  • 在该框中输入新的草稿缓冲区文本并按回车键。

  • 它将在编辑器窗口中打开草稿缓冲区。

与草稿文件一样,草稿缓冲区也存储在 IntelliJ-安装目录\config\scratches 文件夹中。

滚动条

滚动条突出显示代码中的警告/错误消息/TODO 标记。例如,sayHello() 和 sayGoodBye() 方法从未使用过;因此,滚动条为它们显示黄色标记。

Scrollbar

在第 8 行,有 TODO 注释,滚动条使用蓝色标记突出显示它。错误使用红色标记突出显示。

编辑器操作

在本节中,我们将讨论 IntelliJ 中的编辑器操作。

搜索和替换

要在当前文件中搜索文本:

  • 导航到编辑器窗口中的文件并按 Ctrl+F。

  • 它将显示文本框,在其中键入要搜索的文本。

  • 你可以在此处提供各种选项 - 区分大小写匹配、精确匹配、正则表达式等等。

Editor Actions

你可以在非常细粒度的级别执行搜索操作。例如,可以在项目、模块或目录级别进行搜索:

  • Ctrl+Shift+F组合键。

  • 将出现一个新窗口;从这里,你可以选择合适的级别。

New Window

要在当前文件中执行替换操作:

  • Ctrl+R组合键。

  • 将出现一个对话框,在其中输入要替换的文本。

  • 此操作允许你替换单个匹配项、所有匹配项或跳过当前匹配项。

Replace Single

要在细粒度的级别执行替换操作:

  • Shift+Ctrl+R组合键。

  • 它将允许你在项目、模块、目录和其他范围中替换文本。

列选择模式

要启用列模式选择,请在选择文本时按住Alt键。要永久启用列选择模式,请选择编辑 → 列选择模式

Column Selection

剪贴板历史记录

当我们复制任何文本时,它会进入剪贴板历史记录。IntelliJ 会维护剪贴板历史记录。要查看此历史记录,请按Ctrl+Shift+V组合键。你可以从该窗口选择要粘贴的内容。

Clipboard History

代码补全

IntelliJ动态检查代码并提供准确的代码补全。例如,当我键入单词say时,它会建议sayHello()sayGoodBye()方法。

Code Completion

在使用类对象时,代码补全会建议类属性和类方法。

生成代码

IntelliJ 提供了一种生成有用代码的方法,例如构造函数、getter、setter、toString() 方法、覆盖方法等等。请按照以下步骤在编辑器窗口中右键单击生成。

  • 选择生成选项。

  • 它将列出可以生成代码的方法。

Generate Option

代码检查

我们已经看到 IntelliJ 识别语法错误、警告消息和 TODO 标记。除此之外,它还建议代码改进、识别死代码、代码优化。例如,在下面给出的代码中,flag 的值始终为真。因此,else部分永远不会执行。

boolean flag = true; 
if (flag == true) { 
   System.out.println("Value of flag is true"); 
} else { 
   System.out.println("Value of flag is false"); 
}

IntelliJ 识别这一点并建议删除此代码块。

Code Inspection

比较文件和文件夹

请按照以下步骤比较文件和文件夹:

  • 按住Ctrl键,并从项目透视图中选择要比较的文件。

  • 右键单击它并选择比较文件选项。

  • 它将打开比较窗口,其中突出显示了更改。

你还可以将更改从一个文件应用到另一个文件。如果你观察,有两个箭头标记以红色突出显示。单击它们以应用来自其他文件的更改。按Ctrl+Z撤消更改。

同样,要比较文件夹,请从项目透视图中选择文件夹而不是文件。

Compare Files

获取帮助

如果你能轻松地获取有关代码的详细信息,这将非常有用。例如,方法描述、其返回类型、参数类型和参数数量 - IntelliJ 可以在编辑器窗口本身中提供这些详细信息。

内联文档

顾名思义,IntelliJ 可以通过从代码中提取文档来访问文档。如果你为代码提供了 Java 文档,那么 IntelliJ 就可以显示有关它的帮助。要访问内联文档,请将鼠标悬停在方法名称上并按Ctrl+Q组合键。

Inline Documentation

查看定义

要查看定义,请将鼠标悬停在方法名称上并按Ctrl+Shift+I组合键。

Viewing Definition

显示用法

要查看方法用法,请单击方法声明/定义并按Alt+Ctrl+F7组合键。

Show Usage

查看参数

要查看方法参数,请键入方法名称并按Ctrl+P组合键。

View Parameters

代码整理

代码整理是一个过程,其中 lint 工具分析源代码并报告与编码标准相关的潜在问题。它有助于提高代码质量。IntelliJ 支持 SonarLint 插件,该插件可以整理代码。

关于 SonarLint

安装并启用 SonarLint 插件后,它将在你在编辑器窗口中打开文件时自动开始分析代码。它将在 SonarLint 面板中报告问题。我们将在本节中进一步讨论它。

SonarLint 支持流行的编程语言,如 Java、JavaScript、PHP 和 Python。

安装

请按照以下步骤安装 SonarLint:

  • 这里下载 SonarLint。

  • 转到文件 → 设置 → 选择插件

  • 点击从磁盘安装插件按钮。

  • 按照屏幕上的安装说明完成安装过程。

On-screen Installation

代码分析

安装并启用插件后,它将开始动态分析代码。它将在 SonarLint 面板中报告问题。请按照以下步骤查看当前文件的问题:

  • 点击当前文件选项卡。

  • 它将报告诸如未使用的局部变量、未使用的类属性、消息日志记录等等问题。

  • 要了解有关问题的更多信息,请从 SolarLint 面板中点击问题。

  • 在窗口的右侧,它将显示其严重性,例如主要、次要等等。

Severity as Major

执行一次性代码分析

如果你不习惯动态代码分析,那么你可以禁用它,并在准备好代码后执行一次性代码分析。请按照以下步骤禁用动态代码分析:

  • 转到文件 → 设置 → 其他设置 → SonarLint 常规设置

  • 取消选中设置选项卡中的自动触发分析复选框。

  • 点击应用,然后点击确定按钮。

Automatically Trigger Analysis

Intellij Idea - 代码重构

在本章中,我们将学习代码重构以及它在 IntelliJ 中是如何工作的。代码重构是在不改变其功能和可用性的情况下重构代码。可以进行代码重构以提高代码可读性、性能或删除未使用的/重复的功能。IntelliJ 为代码重构提供了强大的支持。本章讨论了各种代码重构操作。

重命名

重命名操作可用于重命名方法、其参数、类属性、局部变量等等。让我们在 IntelliJ 中创建以下类。

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   
   @Override
   public String toString() {
      return "Employee{" +
      "name='" + name + '\'' +
      ", address='" + address + '\'' +
      ", age=" + age +
      '}';
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      System.out.println(e);
   }
}

现在,让我们将Employee类重命名为Person。此操作将在构造函数和main()方法中进行修改:

  • 选择 Employee 单词

  • 转到重构 → 重命名并将其重命名为 Person。

Rename Actions

替换代码重复

这是强大的重构操作之一。IntelliJ 识别代码重复并用相应的代码替换它。让我们引入代码重复并进行重构。在编辑器中键入以下代码:

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void setData(String name, String address,  int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void showEmployeeDetail() {
      System.out.println("Name = " + name + ", Address = " + address + ", Age = " + age);
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      e.showEmployeeDetail();
   }
} 

在此示例中,Employee(String name, String address, int age) 构造函数和public void setData(String name, String address, int age) 方法完全相同。重构后,Employee(String name, String address, int age) 构造函数将修改如下:

public Employee(String name, String address, int age) {
 setData(name, address, age);
}

要替换重复代码 -

  • 转到重构 → 查找并替换代码重复项。

  • 选择重构范围,并按照屏幕上的步骤完成操作。

Replace Code Duplicates

复制重构

在本节中,我们将了解如何将一个类复制到另一个类。让我们将 Employee 类复制到 Person 类。我们可以将其复制到现有模块或新模块中。IntelliJ 会根据它进行必要的更改。请按照以下步骤执行复制重构 -

  • 转到重构 → 复制,它将打开对话框。

  • 输入新名称和目标包。

  • 单击“确定”按钮,它将执行必要的操作。

Copy Class

移动重构

移动重构类似于复制,但它不是创建另一个副本,而是将代码移动到不同的包或将其作为另一个类的内部类。

请按照以下步骤执行移动重构 -

  • 转到“重构 → 移动”。

  • 将出现一个新窗口。

  • 根据您的选择选择其中一个选项,然后单击“重构”。

Move Refactoring

安全删除

安全删除操作仅在项目中任何地方都没有引用对象时才删除对象。此选项的目标可以是类、接口、方法、字段或参数。

让我们看看它在实际操作中的效果。在编辑器中键入以下代码 -

public class HelloWorld {
   static void sayHello() {
      System.out.println("Hello, World !!!");
   }
   public static void main(String[] args) {
      sayHello();
   }
}

请按照以下步骤执行安全删除操作 -

  • 选择sayHello() 方法。

  • 右键单击它并选择重构 → 安全删除选项。

  • 由于 sayHello() 方法正在使用中,因此它将显示错误,如下面的屏幕截图所示 -

Safe Delete Action

更改签名

该操作修改方法签名。它可以更改方法名称、其参数、类型、返回值等。让我们从上面的示例中获取一个方法并更改其签名。

请按照以下步骤执行更改签名操作 -

  • 选择方法。

  • 右键单击它并选择重构 → 更改签名操作

  • 将出现一个新窗口,您可以在其中执行上述操作。

  • 在窗口底部,它显示了新签名的预览。

Change Signature

类型迁移

类型迁移更改符号的类型。此符号可以是方法参数或类属性。让我们在执行所需操作之前考虑以下方法 -

static void sayHello(String name) {
   System.out.println(name);
}

请按照以下步骤执行类型迁移 -

  • 选择“String”数据类型。

  • 右键单击它并选择重构 → 类型迁移

Type Migration
  • 在给定的文本框中输入所需的数据类型。

  • 选择范围,然后单击“重构”按钮。

IntelliJ IDEA - 运行项目

IntelliJ 提供多种创建配置的方法。本章讨论了创建临时配置、永久配置的选项。它还讨论了在其他用户之间共享配置的方法。

创建临时配置

当您运行或调试 Java 类或测试用例时,会创建临时配置。请考虑以下步骤以了解其工作原理 -

  • 创建一个 Java 类。
  • 右键单击它并选择“运行”选项。
  • 第一次运行后,临时配置将添加到运行菜单中。
Temporary Configuration

创建永久配置

通过使用 IntelliJ 保存临时配置,可以将其转换为永久配置。要保存配置,请从“运行”菜单中单击保存配置选项 -

Permanent Configuration

您还可以通过编辑现有配置来修改它。

创建新配置

在本节中,我们将了解如何创建新配置。请按照以下步骤创建新配置 -

  • 导航到“运行 → 编辑配置”。

  • 单击“加号”按钮添加新配置。

  • 从下拉列表中选择“应用程序”。

New Configuration
  • 它将创建未命名的配置。

  • 根据您的需求配置它,然后单击“确定”按钮。

  • 此保存的配置将与其他配置一起从“运行”菜单中访问。

共享配置

请按照以下步骤与他人共享配置 -

  • 导航到运行 → 编辑配置。

  • 从左侧窗格中选择配置,然后单击“共享”复选框。

  • 它将配置存储在磁盘上。

如果使用基于目录的格式,它将把配置保存在runConfiguration文件夹下的单独文件中。否则,它将把配置存储在.ipr文件中。

Share Configuration

运行配置

要使用特定配置运行项目 -

  • 从“运行”菜单中选择配置。

  • 如以下屏幕截图所示运行项目 -

Run Configuration

IntelliJ IDEA - 构建工具

IntelliJ 提供了一种构建和打包 Java 包的方法。它支持 Maven 和 Gradle 等外部构建工具。本章讨论了这些构建工具。

创建 Maven 项目

请按照以下步骤创建 Maven 项目 -

  • 导航到文件 → 项目

  • 选择 Maven 选项,然后单击“下一步”按钮。

Maven Project
  • 在新项目窗口中,输入tutorialspoint.com作为 GroupId,输入HelloWorld作为 ArtifactId。

  • 在新窗口中,它将打开 pom.xml 文件。

  • 我们需要向此文件添加属性;最终的 pom.xml 文件应如下所示 -

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0  
      http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoing</groupId>
   <artifactId>HelloWorld</artifactId>
   <version>1.0-SNAPSHOT</version>
   <properties>
      <maven.compiler.source>1.7</maven.compiler.source>
      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
</project>

现在,让我们在 Maven 项目的src/main/java目录中创建一个 Java 类。请按照以下步骤创建类 -

  • 导航到 src/main/java 目录。

  • 右键单击它并选择新建 → Java 类

请按照以下步骤使用 Maven 编译此类 -

  • 导航到“运行 → 编辑配置”。

  • 单击绿色加号图标,然后从下拉菜单中选择 Maven 选项。

  • 将项目名称输入为 Maven-Package。

  • 将包作为命令行提供。

  • 单击“确定”按钮。

Command Line
  • 导航到“运行”,然后选择Maven-Package选项。

  • 它将开始构建包。在成功构建包后,您将看到以下结果 -

Building Package

创建 Gradle 项目

在本节中,我们将学习如何创建 Gradle 项目 -

  • 导航到文件 → 项目并选择 Gradle。

  • 单击“下一步”按钮。

  • 在新项目窗口中,输入tutorialspoint作为 GroupId,输入HelloWorld作为 ArtifactId。

  • 单击“下一步”按钮,验证项目详细信息,然后单击“完成”按钮。

  • 按照屏幕上的说明完成该过程。

Finish button
  • 打开buildl.gradle文件,并按上述屏幕截图所示编写 Hello 任务。

  • 要编译此任务,请导航到运行 → 构建-Gradle选项。

IntelliJ IDEA - 单元测试

单元测试在软件开发中起着重要作用。IntelliJ 支持各种单元测试框架,如 JUnit、TestNG、Spock 等。在本章中,我们将使用 JUnit3。

创建单元测试

在本节中,我们将学习如何创建单元测试。请按照以下步骤创建测试 -

  • 选择导航 → 测试选项。

  • 将出现一个对话框,您必须在其中选择创建新测试

  • 按照屏幕上的说明继续 -

  • 提供有关测试的详细信息,如测试库、类详细信息、setUp、tearDown 方法等。

Tear Down Methods
  • 单击“确定”按钮继续。

  • 将创建一个测试类。最初,它可能无法解析某些符号。将光标导航到错误行,它将显示提示符号。

  • 从下拉菜单中选择合适的选项。我们选择了将库“junit.jar!”添加到类路径选项 -

Classpath Option

您可以根据业务需求在每个测试中添加逻辑。为了简单起见,我将其保留为空。

运行单元测试

请按照以下步骤运行单元测试 -

  • 从编辑器窗口中选择单元测试类。

  • 导航到“运行”菜单并选择“运行”选项。

  • 将生成以下结果

Run Option.

IntelliJ IDEA - 调试

调试器使应用程序调试变得更加容易。使用调试器,我们可以在特定点停止程序执行、检查变量、单步进入函数并执行许多操作。IntelliJ 提供内置的 Java 调试器。

断点

断点允许在特定点停止程序执行。可以通过将鼠标悬停在编辑器装订线区域并单击它来设置断点。

断点使用红色圆圈符号表示。请考虑在第 3 行设置的断点。

Breakpoints

请考虑以下步骤以进一步了解断点的工作原理 -

  • 右键单击红色圆圈符号。

  • 选择更多选项。

  • 要删除断点,只需单击相同的符号。

请按照以下步骤启动调试器 -

  • 导航到“运行”菜单。
  • 选择“调试”选项。

单步进入

在调试过程中,如果遇到函数并选择了单步进入操作,则调试器将停止该函数每个点的程序执行,就像已为该函数启用了调试一样。

例如,当程序执行到达第 9 行并且如果我们选择单步进入操作时,它将在sayGoodBye()函数中的每一行停止执行。

Program Execution

单步跳出

单步跳出操作与单步进入操作完全相反。例如,如果您使用上述方案执行单步跳出操作,则调试器将从sayGoodBye()方法返回,并在第 10 行开始执行。

Step Out

单步跳过

单步跳过操作不会进入函数,而是会跳转到下一行代码。例如,如果您位于第 9 行并执行单步跳过操作,则它将执行移动到第 10 行。

Step Over

恢复程序

恢复程序操作将继续执行程序,并忽略所有断点。

Breakpoints

停止操作

停止操作有助于停止调试器。

Stop Action

智能单步进入

在调试过程中,我们有时会遇到调用多个方法的代码行。调试这些代码行时,调试器通常允许我们使用**Step Into**(步入)并带我们遍历所有子函数,然后返回到父函数。但是,如果我们只想进入一个子函数呢?使用智能步入,它允许我们选择要步入的函数。

现在,让我们创建一个包含以下代码行的 Java 类:

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

在上面的代码中,**allFunctions()** 调用了另外 3 个函数。让我们在此函数处设置断点。按照以下步骤执行智能步入:

  • 转到运行
  • 选择智能步入。
  • 选择要进入的子函数。
Child Function

检查变量

在调试过程中,IntelliJ 会在编辑器窗口本身中显示变量的值。我们也可以在调试窗口中查看相同的信息。

Inspecting Variables

计算表达式

计算表达式允许我们动态地计算表达式。按照以下步骤执行此操作:

  • 在调试器中启动应用程序

  • 导航到**运行 -> 计算**表达式。

  • 输入表达式。在下面给出的示例中,变量“i”的当前值为 0;因此,表达式“i > 100”将计算为 false

Evaluate Expression

IntelliJ IDEA - 分析

分析器提供了有关应用程序的信息,例如其 CPU、内存和堆使用情况。它还提供了有关应用程序线程的详细信息。本章讨论了使用 VisualVM 工具进行 Java 应用程序分析。它可以分析 CPU 和堆等实体。

建议本教程的读者熟悉应用程序分析器概念。

简介

VisualVM 是一款可视化工具,它集成了 JDK 工具并为您提供了强大的分析功能。它允许您生成和分析堆数据、跟踪内存泄漏、监控垃圾收集器以及执行内存和 CPU 分析。

优势

  • 用于在 JVM 上运行的本地和远程 Java 应用程序的可视化界面。

  • 监控应用程序的内存使用情况和应用程序的运行时行为。

  • 监控应用程序线程

  • 分析分配给不同应用程序的内存。

  • 线程转储 - 在死锁和竞争条件情况下非常方便。

  • 堆转储 - 在分析堆内存分配时非常方便。

配置

在本节中,我们将学习配置 VisualVM 执行的步骤。步骤如下:

  • 从此处下载:[https://visualvm.github.io/download.html](https://visualvm.github.io/download.html)。

  • 解压缩 zip 文件。

  • 导航到 etc/visualvm.conf 文件,并在该文件中添加以下行:

visualvm_jdkhome=<path of JDK>
  • 如果您的 JDK 安装在 **C:\Program Files\Java\jdk-9.0.1** 目录中,则它应该如下所示:

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

监控应用程序

现在让我们看看如何监控应用程序。请考虑以下步骤以了解相同内容:

  • 双击 visualvm.exe 文件。
  • 从左窗格中选择应用程序。
  • 选择监视器选项卡。
Monitoring Application

您将被定向到一个窗口,您将在其中获得有关 CPU、堆、类和线程的详细信息。要具体了解使用情况,请将鼠标悬停在任何图表上。我们可以在上面的屏幕截图中看到堆的使用情况。

有关线程的见解

Java 应用程序可以包含多个执行线程。要了解有关线程的更多信息,请选择特定应用程序的“线程”选项卡。它将提供有关线程的各种统计信息,例如活动线程和守护线程的数量。不同的线程状态包括运行、睡眠、等待、暂停和监视器。

Insights Threads

采样应用程序

VisualVM 支持 CPU、内存采样和内存泄漏检测。要对应用程序进行采样,请选择应用程序并选择“样本”选项卡:

CPU 采样

对于 CPU 采样,请单击 CPU 按钮,如下面的屏幕截图所示:

Memory Sampling

内存分析

对于内存分析,请单击内存按钮,如下面的屏幕截图所示:

Memory profiling

内存泄漏

当应用程序在运行时,缓慢地用程序不会自动删除的对象填充堆时,就会发生内存泄漏。

如果程序未使用对象未被删除,则它将保留在内存中,并且 GC 无法回收其空间。如果应用程序中的字节数和实例数在程序中持续且显着增加到耗尽所有空间的程度,这可能表明存在内存泄漏。

分析应用程序

在本节中,我们将学习如何分析应用程序。要分析应用程序,请从左窗格中选择应用程序,然后单击“分析”选项卡:

CPU 分析

要执行 CPU 分析,请单击 CPU 按钮,如下面的屏幕截图所示:

CPU Profiling

内存分析

要执行 CPU 分析,请单击 CPU 按钮,如下面的屏幕截图所示:

CPU Memory Profiling

IntelliJ IDEA - 版本控制

IntelliJ 支持各种版本控制系统,如 Git、Subversion、Mercurial、CVS、GitHub 和 TFS。您可以直接从 IDE 本身执行与版本控制相关的操作。

在本章中,我们将讨论 Git 和 Subversion(以下简称 SVN)。我们假设读者熟悉 Git 和 SVN 工具及其术语。

Git

在本节中,我们将学习如何使用 Git。

克隆

要克隆现有的 Git 存储库:

  • 导航到文件 -> 新建 -> 从版本控制 -> Git 中创建项目。

  • 输入存储库 URL、父目录和目录名称。

  • 单击克隆按钮以继续。

Clone Repository
  • 成功执行上述步骤后,存储库将被克隆。

跟踪更改

Git 将跟踪您在存储库中所做的更改。让我们修改存储库中的任何文件,并将其与存储库进行比较。

  • 导航到 VCS -> Git -> 与最新存储库版本比较。

  • 上述步骤将打开差异窗口。

  • 您可以看到右侧有一条新的绿色背景颜色行。

  • Git 以绿色显示它,因为我们添加了新内容。如果我们删除任何内容,则它将以红色显示

Track Changes

恢复本地更改

请按照以下步骤放弃本地更改:

  • 导航到 **VCS -> Git -> 恢复** 选项。

  • 它将要求确认并删除您的更改。

Revert Changes

将文件添加到存储库

要将文件添加到存储库,请导航到 **VCS -> Git -> 添加** 选项。此操作类似于 **git add** 操作。

提交更改

提交操作将创建本地提交。它类似于 **git commit** 操作。要执行提交:

  • 导航到 **VCS -> Git -> 提交文件** 选项。

  • 选择要提交的文件。

  • 输入提交消息,然后单击提交按钮。

Commit Changes

将更改推送到远程存储库

推送操作将发送本地更改到远程存储库。要推送更改:

  • 导航到 **VCS -> Git -> 推送** 选项。

  • 将出现一个窗口。在这里,您可以看到要推送的提交。

  • 验证提交,然后单击推送按钮以发布您的更改。

Push Changes

查看历史记录或日志

要显示历史记录,请导航到 **VCS -> Git -> 显示历史记录** 选项。此操作类似于 **git log** 命令。它将显示如下历史记录:

View History or Logs

获取更新

请按照以下步骤从存储库中获取更新:

  • 导航到 **VCS -> Git -> 拉取** 选项。

  • 根据您的需求选择选项。

  • 单击拉取按钮。

Get Updates

将现有项目添加到 Git

要将现有项目添加到 Git 下:

  • 导航到 **VCS -> 导入到版本控制 -> 创建 Git** 存储库。

  • 通过浏览目录选择项目。

  • 单击“确定”按钮。

Existing Project

Subversion

在本节中,我们将了解 Subversion 在 IntelliJ 中如何工作。让我们考虑一些重要的操作来理解这一点。

签出

要签出 SVN 存储库:

  • 导航到 **文件 -> 新建 -> 从版本控制 -> Subversion 中创建项目。**

  • 输入存储库 URL。

  • 单击 **确定** 按钮。

Checkout

跟踪更改

SVN 将跟踪您在存储库中所做的更改。让我们修改存储库中的任何文件,并将其与存储库进行比较:

  • 导航到 VCS -> Subversion -> 与最新存储库版本比较

  • 您可以看到右侧有一条新的绿色背景颜色行。

  • SVN 以绿色背景显示它以指示添加了新内容。如果我们删除任何内容,则它将以红色显示。

Latest Repository

恢复本地更改

请按照以下步骤恢复您所做的本地更改:

  • 导航到 **VCS -> Subversion -> 恢复** 选项。

  • 它将要求确认并删除您的更改。

Remove Your Changes

将更改提交到远程存储库

请按照以下步骤将更改提交到远程存储库:

  • 导航到 **VCS -> Subversion -> 提交文件** 选项。

  • 将出现一个新窗口。在这里,您可以看到要提交到远程存储库的文件。

  • 验证文件,然后单击提交按钮以发布您的更改。

Commit Button

查看历史记录或日志

要显示历史记录,请导航到 **VCS -> Subversion -> 显示历史记录** 选项。此选项类似于 **svn log** 命令。它将显示如下历史记录:

History Navigate

更新操作

要获取最新更改,请导航到 **VCS -> Subversion -> 更新文件/更新文件夹** 选项。

Update Operation

将现有项目添加到 Subversion

请按照以下步骤将现有项目添加到 SVN 下:

  • 导航到 **VCS -> 导入到版本控制 -> 导入到 Subversion**。

  • 输入存储库 URL 并单击导入按钮:

Add Existing Project

IntelliJ IDEA - 数据库

IntelliJ 提供了数据库工具,允许您直接从 IDE 本身执行与数据库相关的操作。它支持所有主要的数据库,如 MySQL、Oracle、Postgress、SQL Server 等等。在本章中,我们将讨论 IntelliJ 如何支持 MySQL 数据库。

我们假设读者熟悉数据库概念,并且所需的数据库工具已安装并在您的系统上配置。

创建数据库

首先,我们将创建一个名为 **- test_db** 的数据库。在命令提示符中执行以下命令:

Create Database

连接到数据库

请按照以下步骤连接到数据库:

  • 导航到 **查看 -> 工具窗口 -> 数据库**。

  • 单击绿色加号图标,然后选择数据源 -> MySQL。

Connect To A Database
  • 输入主机地址,然后单击测试连接按钮。

  • 如果一切顺利,它将显示“成功”,如上图所示。

  • 单击确定按钮以保存连接。

创建表

请按照以下步骤创建一个新表:

  • 右键单击数据库窗格,然后选择架构。

  • 选择 **新建 -> 表** 选项

Create Table
  • 将出现一个新窗口。使用列、类型等定义表。

Table With Columns
  • 单击执行按钮

  • 单击执行按钮

插入数据

请按照以下步骤插入数据:

  • 从数据库窗格中选择表。
  • 它将在新窗口中打开表。
  • 单击加号图标以插入新行。
  • 单击提交按钮以使更改永久生效。
Insert Data

检索数据

要检索数据,请双击数据库窗格中的 student_table。它将在新窗口中显示表数据。

为了确保数据已插入到表中,请打开命令提示符并执行以下命令:

Retrieve Data

IntelliJ IDEA - 从 NetBeans 迁移

NetBeans 是另一个流行的 Java IDE。如果您是 NetBeans 的当前用户,并且希望从 NetBeans 迁移到 IntelliJ,那么这将是一个良好的起点。

本章讨论了在 IntelliJ 中导入 NetBeans 项目、其等效于 NetBeans 的术语、常用的快捷方式以及常见问题。

导入 NetBeans 项目

在本节中,我们将学习如何导入 NetBeans 项目。请按照以下步骤导入项目:

  • 导航到文件 -> 新建 -> 从现有源创建项目

  • 选择您的 NetBeans 项目目录。

  • 当导入项目向导打开时,选择“从现有源创建项目”选项。

  • 按照屏幕上的说明继续。

IntelliJ 与 NetBeans 术语

下表比较了 IntelliJ 和 NetBeans 术语:

IntelliJ NetBeans
模块

项目
全局库 全局库
模块库 项目库
模块依赖 项目依赖
模块 SDK 项目特定 SDK

常用快捷键

IntelliJ 是一款以键盘为中心的 IDE。它为大多数操作提供了快捷键。下表列出了一些重要的快捷键:

操作 快捷键
运行 Java 程序 ctrl+shift+F10
整理导入 ctrl+alt+o
System.out.println() 输入 sout 并按 ctrl+j
删除当前行 ctrl + y
搜索 ctrl + shift + f
生成 getter 和 setter alt + insert
格式化代码 ctrl + alt + l
注释代码 ctrl + /
转到行 ctrl + g
转到声明 ctrl + b
重命名 shift+F6
移动行 ctrl + shift + 上/下

调试器快捷键

下表列出了一些重要的调试器快捷键:

调试操作 快捷键
调试程序 Shift + F9
选择配置并调试 Shift+Alt+F9
单步跳过 逐语句
单步进入 步入
智能单步进入

智能步入
单步跳出 步出
强制跳过 Shift+Alt+F8
强制步入 Shift+Alt+F7
恢复程序 F9
计算表达式 评估表达式
切换断点 Ctrl+F8
查看断点 Ctrl+Shift+F8

常见问题解答和提示

在本节中,我们将了解一些常见问题解答和提示。常见问题解答和提示如下:

我可以在 IntelliJ IDEA 中使用 NetBeans 键绑定吗?

  • 导航到 文件 → 设置 并选择 键映射。

  • 从下拉框中选择 NetBeans

Drop Down Box

IntelliJ IDEA 中的本地历史记录与 NetBeans 中的不同吗?

IntelliJ IDEA 中的本地历史记录通常更详细。您对目录、文件、类、方法或字段或代码块执行的任何操作都反映在您的本地历史记录中。本地历史记录还包括 VCS 操作。

我可以在 IntelliJ IDEA 中启用“保存时编译”吗?

  • 导航到 文件 → 设置 → 构建、执行、部署 → 编译器
  • 选择自动构建项目选项。
  • 单击“确定”按钮。
Build Project Automatically

我可以在 IntelliJ IDEA 中使用 NetBeans 插件吗?

不可以。

是否可以使用 IntelliJ IDEA 构建 NetBeans RCP 应用程序?

可以;但是,您不会获得与 NetBeans 相同的支持(向导、菜单操作等)。有关更多详细信息,请访问 此处

Intellij Idea - 从 Eclipse 迁移

Eclipse 是另一个流行的 Java IDE。如果您是 Eclipse 的当前用户,并且希望从 Eclipse 迁移到 IntelliJ,那么这是一个很好的起点。

本章讨论如何在 IntelliJ 中导入 Eclipse 项目、其等同于 Eclipse 的术语、常用快捷键和常见问题。

导入现有项目

在本节中,我们将讨论如何导入现有项目。请按照以下步骤导入项目:

  • 导航到 文件 → 新建 → 从现有来源创建项目。

  • 选择您的 NetBeans 项目目录。

  • 当导入项目向导打开时,选择“从现有源创建项目”选项。

  • 按照屏幕上的说明继续。

IntelliJ 与 Eclipse 术语

下表比较了 IntelliJ 和 NetBeans 的术语:

IntelliJ Eclipse
项目 工作空间
模块

项目
Facet Facet
SDK JRE
路径变量 类路径变量

常用快捷键

IntelliJ 是一款以键盘为中心的 IDE。它为大多数操作提供了快捷键。下表列出了一些常用的快捷键:

操作 快捷键
运行 java 程序 ctrl+shift+F10
整理导入 ctrl+alt+o
System.out.println() 输入 sout 并按 ctrj+j
删除当前行 ctrl + y
搜索 ctrl + shift + f
生成 getter 和 setter alt + insert
格式化代码 ctrl + alt + l
注释代码 ctrl + /
转到行 ctrl + g
转到声明 ctrl + b
重命名 shift+F6
移动行 ctrl + shift + 上/下

调试器快捷键

下表列出了常用的调试器快捷键:

调试操作 快捷键
调试程序 Shift + F9
选择配置并调试 Shift+Alt+F9
单步跳过 逐语句
单步进入 步入
智能单步进入

智能步入
单步跳出 步出
强制跳过 Shift+Alt+F8
强制步入 Shift+Alt+F7
恢复程序 F9
计算表达式 评估表达式
切换断点 Ctrl+F8
查看断点 Ctrl+Shift+F8

常见问题解答和提示

在本节中,我们将了解一些常见问题解答和提示。常见问题解答和提示如下:

使用 Eclipse 编译器

虽然 Eclipse 使用自己的编译器,但 IntelliJ IDEA 使用与项目 JDK 捆绑在一起的 javac 编译器。如果要使用 Eclipse 编译器:

  • 导航到 **文件 → 设置 → 构建、执行、部署 → 编译器 → Java 编译器**。

  • 从用户编译器下拉列表中选择所需的编译器。

Eclipse Compiler

Eclipse 键映射

对于那些不想学习新快捷键的 Eclipse 用户,IntelliJ IDEA 提供了 Eclipse 键映射,该映射与 Eclipse 的快捷键非常相似:

  • 导航到 文件 → 设置 → 键映射选项。
  • 从键映射下拉列表中选择 Eclipse。
Eclipse Keymap

代码格式化

要导入您的 Eclipse 格式化程序设置:

  • 导航到 **文件 → 设置 → 编辑器 → 代码样式 → Java**。

  • 选择 **Eclipse XML** 配置文件。

Eclipse Formatter Settings

使用构建工具

与 Eclipse 一样,IntelliJ 也不提供用于编辑 Maven/Gradle 配置文件的可视化表单。

导入/创建 Maven/Gradle 项目后,您可以在文本编辑器中直接编辑其 pom.xml/build.gradle 文件。

广告

© . All rights reserved.