Intellij Idea 简明教程

Intellij Idea - Quick Guide

Intellij Idea - Introduction

IntelliJ 是 Java 领域功能最强大且最受欢迎的集成开发环境 (IDE) 之一。它由 JetBrains 开发和维护,同时提供了社区版和旗舰版。这款功能丰富的 IDE 可实现快速开发,并有助于提高代码质量。

What is IDE and its benefits?

IDE 即集成开发环境。它整合了多个工具,使得软件开发流程更容易、更强大且更不容易出错。与普通文本编辑器相比,它拥有以下优势 −

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

  2. 支持代码导航、代码补全、代码重构和代码生成等功能,可推动开发流程。

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

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

Features of IntelliJ

IntelliJ IDEA 拥有部分顶级的 Java 代码补全功能。其预测算法能够准确地假定编码人员试图输入的文本,并为其补全,即使编码人员不知道特定类、成员或任何其他资源的确切名称。

Deep Insight

IntelliJ IDEA 真正理解且 deep insight 您的代码以及编码人员的上下文,这使得它在其他 Java IDE 中独一无二。

  1. Smart code completion − 它支持基于上下文的代码补全。它给出当前上下文中可应用的最相关的符号列表。

  2. Chain code completion − 它是一种先进的代码补全功能,会列出可以通过方法或 getter 在当前上下文中访问的可应用符号。

  3. Static member’s completion − 它允许你使用静态方法或常量,并自动添加所需的 import 语句来避免编译错误。

  4. Detecting duplicates − 它即时找到重复代码片段,并对此向用户发出通知/建议。

  5. Inspections and quick-fixes − 无论 IntelliJ 何时检测到你即将出错,都会在同一条线上弹出一个小型的灯泡通知。点击它会显示建议列表。

Developer Ergonomics

IntelliJ IDEA 是围绕编程原则设计的,即开发人员应该能够尽可能少地分心。因此,在这种情况下,编辑器是屏幕上唯一可见的东西,拥有针对所有其他与编程无关的功能的专用快捷键。

  1. Editor-centric environment − 快速弹出窗口有助于在不离开当前上下文的情况下检查其他信息。

  2. Shortcuts for everything − IntelliJ IDEA 几乎针对所有内容都有键盘快捷键,包括快速选择、在工具窗口之间切换等等。

  3. Inline debugger − 内联调试器允许你在 IDE 本身内调试应用程序。它使得开发和调试过程变得顺畅。

Built-in Developer Tools

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

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

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

  3. Test runner and code coverage − IntelliJ IDEA 让你能轻松执行单元测试。IDE 为包括 JUnit、TestNG、Spock、Cucumber、ScalaTest、spec2 和 Karma 在内的主要测试框架包含了测试运行器和覆盖工具。

  4. Decompiler − IntelliJ 带有一个针对 Java 类的内置反编译器。当你想查看没有源代码的库内部时,你可以不用任何第三方插件就做到。

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

  6. Database tools − IntelliJ 提供数据库工具,这让你能连接到实时数据库;运行查询;浏览并更新数据;甚至在 IDE 本身内,以可视化界面管理模式。

  7. Application server − IntelliJ 支持主要应用程序服务器:Tomcat、JBoss、WebSphere、WebLogic、Glassfish 和许多其他服务器。你可以将制品部署到应用程序服务器上,并在 IDE 本身内调试已部署的应用程序。

  8. Docker support − 通过一个单独的插件,IntelliJ 提供一个专用工具窗口,这让你能连接到本地运行的 Docker 计算机。

Comparison between Ultimate and Community Edition

Ultimate Edition 旨在协助 Web 和企业开发,而 Community Edition 旨在用于 JVM 和 Android 开发。让我们考虑一下一些要点,它们将帮助我们理解这两个版本之间的比较 −

Feature

Ultimate Edition

Community Edition

License

Commercial

开源,Apache 2.0 商业开发。

Java, Kotlin, Groovy, Scala

Supported

Supported

Android development

Supported

Supported

Maven, Gradle, SBT

Supported

Supported

Git, SVN, Mercurial, CVS

Supported

Supported

Detecting Duplicates

Supported

Not supported

Perforce, TFS

Supported

Not supported

JavaScript, TypeScript

Supported

Not supported

Java EE、Spring、GWT、Vaadin、Play、Grails、其他框架

Supported

Not supported

Database Tools, SQL

Supported

Not supported

Intellij Idea - Installation and Configuration

在本节中,我们将了解如何安装和配置 IntelliJ IDEA。这个过程的第一步是从选择版本开始。根据您的需要,您可以下载社区版或旗舰版。顾名思义,社区版绝对免费,并且我们也可以用它进行商业开发。然而,旗舰版是付费版本,我们可以免费评估 30 天。

Installation on Windows

IntelliJ 与 2003 年之前的几乎所有版本的 Windows 兼容。具体清单如下:Windows 10/8/7/Vista/2003/XP。建议在 Windows 上安装 IntelliJ 之前关闭所有其他应用程序。

System Requirements

  1. 建议至少 2GB 的 RAM 容量以实现无缝性能。

  2. 为了更好的可视化效果,建议使用 1024x768 的屏幕分辨率。

  3. 安装最低需要 300MB 的磁盘空间,另外还需要 1GB 的缓存空间。

Downloading and Installation

  1. Downloading − 您可以在他们的官方网站下载 windows 安装程序。

  2. Installation − 让我们从安装开始,然后进行配置步骤。IntelliJ 的安装类似于其他软件包。只需双击安装程序,然后按照屏幕上的说明完成安装过程即可。

Installation on Linux

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

System Requirements

  1. GNOME、KDE 或 XFCE 桌面环境

  2. 建议至少 2GB 的 RAM 以实现无缝使用

  3. 安装需要 300MB 的磁盘空间,另外还需要 1GB 的缓存空间

  4. 为了更好的可视化效果,建议使用 1024x768 的屏幕分辨率

Downloading and Installation

  1. Downloading − 您可以在他们的官方网站下载适用于 Linux 的 IntelliJ。

  2. Installation − 我们已经下载了 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.

Configure IntelliJ

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

Step1 − 如果您正在使用旗舰版,则会弹出一个许可证激活窗口。选择免费评估选项,然后单击评估按钮,如下图所示。

license  activation

Step 2 − 接受许可协议以继续,然后按照屏幕上的说明启动 IntelliJ。您将看到 IntelliJ 的欢迎屏幕。

Step 3 − 现在,是时候使用 IntelliJ 配置 Java Development Kit(以下简称 JDK)了。如果尚未安装JDK,请按照 here 中的说明进行操作。

  1. 在欢迎屏幕上,单击“配置”

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

  3. 选择“项目结构”选项

project structure
  1. 从“平台设置”菜单中选择“SDK”选项。

  2. 点击“加”图标并选择“JDK”选项。

  3. 选择 JDK 的主目录,然后按照屏幕上的说明。

platform settings

Intellij Idea - Getting Familiar

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

本章概述了 IntelliJ。本章从讨论 IDE 的可视元素、配置设置开始,最后以讨论 JVM 和平台属性结束。

Visual Elements

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

visual elements

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

Working with Plug-ins

插件有助于扩展 IntelliJ 的功能。它提供了大量插件,包括数据库、版本控制、配置文件等等。

plug ins ranging

Steps to manage plug-ins

按照以下步骤管理插件 −

  1. 转到文件 → 设置菜单。

  2. 在左窗格中选择插件选项卡。

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

  4. IntelliJ 在线插件存储库可在其中获得。要添加/删除插件存储库,请单击浏览存储库按钮,它将提供执行此操作所需的方法。

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

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

Working with Settings

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

Export Settings

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

  1. 前往文件 → 导出设置。

  2. 导出设置窗口列出了与 UI、调试器、SDK 等相关的可用设置。

  3. 它提供了一个选择复选框。一旦完成选择,单击确定按钮即可将设置保存到本地磁盘。

Import Settings

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

  1. 前往文件 → 导入设置。

  2. 通过导航文件夹结构选择设置 jar

  3. 点击确定按钮。

Sharing Settings

IntelliJ IDEA 允许你在不同的实例之间共享你的 IDE 设置。当你想在团队或组织内应用相同的设置时,这特别有用。要实现此目的的前提条件是启用 Settings Repository 插件。它默认安装并启用。

要确保其状态 −

  1. 前往文件 → 设置 → 插件

  2. Search settings repository plug-in

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

  1. 前往文件 → 设置存储库。

  2. 在上游 URL 对话框中键入 Git 存储库 URL。

  3. 单击覆盖远程按钮。

  4. 要将相同设置应用于其他实例,单击覆盖本地按钮。

Configuring JVM Options and Platform Properties

可以通过导航到 Help → Edit Custom VM Options 菜单配置 JVM 选项。以下是我们可以设置的一些重要的 JVM 选项。

  1. –server − 它允许选择 Java HotSpot Server VM

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

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

  4. -Xss<size> − 它设置 Java 线程堆栈大小。

  5. –XX − 它允许设置 GC 算法和其他属性。

Intellij Idea - Create First Java Project

现在我们通过 IntelliJ 获取实践体验的时候了。在本章,我们将创建第一个 Java 项目。我们将编写并执行传统的 Hello World 程序。本章解释了 Java 应用程序的编译和运行。

Create Project

对于与开发相关的任何内容,开发者都必须使用 IntelliJ 创建一个新项目。让我们遵循以下步骤来创建一个项目:

  1. Launch IntelliJ.

  2. 转到 File → New → Project 菜单。

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

java project
  1. 如果要使用 main 方法创建一个 Java 类,则从模板复选框中选择“从模板创建项目”。

  2. 从下面所示的对话框中选择命令行应用,然后继续。

  3. 输入项目名称和目录位置。

  4. 单击完成按钮。

Create Package

包在 Java 项目下创建,可以单独创建,也可以在创建类时创建。让我们遵循以下步骤来创建一个包:

  1. 转到项目角度。

  2. 右键点击 Project,选择 New→Module 选项。

project perspective
  1. 新建模块窗口类似于新项目。选择 Java 选项和相应的 SDK,然后点击“下一步”按钮。

  2. Enter the module name.

  3. 单击完成按钮。

Create Java Class

在这一部分,我们将学习如何创建一个 Java 类。Java 类可以在 Java 模块下创建。遵循以下这些步骤来创建一个模块:

  1. 转到 Project 角度。

  2. 展开项目并从模块中选择 src 目录。

  3. 右键点击它;选择 New→Java Class 选项。

  4. 在对话框中输入类名并点击 OK 按钮。

  5. 它将使用类声明打开“编辑器”窗口。

Run Java Application

现在我们将看到如何运行一个 Java 应用程序。遵循这些步骤并查看它是如何运行的:

  1. 让我们编写一段简单的代码,它会在控制台上打印一条消息。在编辑器窗口中输入以下代码 −

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

  2. 选择类名并单击运行。

  3. 如果没有编译错误,那么它将显示在窗口底部的输出。

java application

Intellij Idea - Deep Dive

本教程的前四章旨在让初学者对 IntelliJ 有一个基础了解。本部分深入探讨 IntelliJ,并讨论更多有关项目、其格式以及其他内容。

Understanding Projects

项目是指你正在开发的应用程序或软件。它可以包含多个模块、类、库、配置等等。它处于层次结构中的最顶端。

Understanding Modules

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

除此之外,我们还可以导入现有模块。请按照下列步骤导入现有模块 −

  1. 转到文件 → 项目结构。

  2. 选择模块并单击加号图标。

  3. 它将显示导入模块的选项。

modules feature

Understanding Folders

Content root 是一个包含构成模块的所有文件的文件夹。一个模块可以有多个内容文件夹。文件夹分以下类型 −

  1. Sources − 通过将此类别指定给文件夹,我们指示 IntelliJ 该文件夹及其子文件夹包含 Java 源代码,且它应作为编译过程的一部分进行编译。

  2. Tests − 通过将此类别指定给文件夹,我们指示 IntelliJ 它是一个单元测试的位置。此文件夹可以访问源文件夹中的类。

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

  4. Excluded − 排除的文件夹中的内容不会由 IntelliJ 编入索引。这意味着 IntelliJ 不会提供代码完成建议和其他提示。例如,输出目录和目标目录默认情况下被排除。

  5. Test resources − 这类似于资源并且用于单元测试。

content root

Understanding Libraries

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

  1. Global level – 所有项目共享。

  2. Project level – 项目的所有模块共享。

  3. Module level – 属于这些模块的类共享。

Understanding Facets

构面是模块的扩展。它们增加对框架和技术的支持。将构面添加到模块时,IntelliJ 会识别出增加的支持。举例而言,编辑器中的提示和帮助、窗口栏中的新工具、依赖项下载等等。您可以从 File → Project Structure 窗口添加构面,如下所示:

window bar

Artifacts

构建产品是项目的输出。可以是简单的 JAR 文件、Java EE 应用程序或 Java EJB 应用程序。如果我们使用 Gradle 或 Maven 等外部构建工具,则 IntelliJ 会自动为它们添加构建产品。可以导航至 File → Project Structure 创建构建产品,如下所示:

artifacts

Importing Existing Project

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

  1. 从现有源代码导入

  2. 从构建模型中导入

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

  1. 导航至 File → New → Project from the existing source。

  2. 选择现有项目的目录、Maven 的 pom.xml 或 Gradle 的构建脚本。

  3. 点击确定按钮。

importing existing project

Project Formats

IntelliJ 支持两种项目格式,一种是 directory-based ,另一种是 file-based 。基于目录的格式较新,建议使用。默认情况下,IntelliJ 会创建基于目录的项目格式。您可以在创建新项目时选择项目格式。在新建项目窗口中,只需单击更多设置,如下面的图片所示:

project formats

Directory-based Project Format

此格式有助于在项目中创建一个 idea 文件夹,并将项目中的所有配置文件保留在此文件夹中。设置被分组到 xml 文件中。举例而言,它将创建 misc.xml, modules.xml, workspace.xml 等。以下屏幕截图将帮助您了解它的工作原理:

directory based project format

File-based Project Format

它将创建两个项目文件,分别带有 ..iprwpr 扩展名。ipr 文件将包含特定于项目的设置,而 wpr 文件将包含特定于工作区设置。

file based project format

要将基于文件的项目转换为基于目录的项目,请转至 File → Save as a Directory-Based format

Directory-based vs File-based Project Format

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

  1. 相关设置存储在单个文件中,以便更容易地在基于目录的项目格式中进行管理。

  2. 如果文件夹包含 idea 子文件夹,则 IntelliJ 会识别该项目。因此,您不必明确选择 ipr 项目。

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

Intellij Idea - Deep Dive into Editor

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

Visual Elements of Editor

IntelliJ 具备许多功能,其中包括旨在帮助开发人员浏览并了解其编码真实状态的可视元素。

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

Gutter Area

编辑器小窗口区域位于 IDE 的左侧,如下图所示 −

gutter area

Labels

我们现在了解标签如何工作的。上面屏幕截图以数字标记。我们现在看看这些数字必须显示什么 −

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

  2. 您可以在行号 6 看见一个小加号符号。这是代码折叠功能。如果您单击该图标,则会展开它。代码折叠可以在类、方法、循环和其他块级别完成。

  3. 在行号 11 和 14,有两个箭头指向彼此。标记代表方法的开始和结束位置。如果您单击任何箭头,它将在该代码块上执行折叠操作。小窗口区域将显示某些操作时采取的各种符号;例如,它将显示断点符号、Java 注释符号。

Status Bar

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

event log
status bar
  1. 在第一个图像中,16:1 分别表示当前行号和列号。

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

  3. UTF-8 代表文件编码。

  4. 接下来是 lock 图标。我们可以单击它来切换文件的只读属性。

  5. 最后,有一个带有人脸的符号。它允许管理代码检查级别。当我们在编辑器中键入代码时,IntelliJ 检查代码 on the fly 并显示提示/建议。我们可以从此处确定检查级别。例如,我们可以完全禁用它,或仅允许检查语法等。我们还可以在此处启用省电模式,它将禁用后台代码分析和其他后台作业。

  6. 状态栏还显示项目操作信息。例如,第二个图像显示有关项目编译的信息。

Scratches

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

Scratch files

它们是可操作的、可运行的和可调试的。创建草稿文件 −

  1. 转到 File → New → Scratch 文件。

  2. 选择您喜欢的语言。

  3. 它将在 IntelliJ-Installation-Directory\config \scratches 文件夹中创建一个文件。

Scratch buffers

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

  1. 1. 按下 Ctrl + Shift + A 或点击“搜索所有”图标

  2. 2. 它会弹出一个对话框。

  3. 3. 在该框中输入新的草稿缓冲区文本,然后按下回车键。

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

与草稿文件类似, scratch buffers 也存储在 IntelliJ-Installation-Directory\config\scratches 文件夹中。

Scrollbar

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

scrollbar

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

Editor Actions

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

Search and Replace

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

  1. 1. 导航到编辑器窗口中的文件,然后按下 Ctrl+F。

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

  3. 3. 你可以在此处提供各种选项 - 大小写匹配、完全匹配、正则表达式等。

editor actions

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

  1. 1. 按下 Ctrl+Shift+F 键组合。

  2. 2. 将出现一个新窗口;在此,你可以选择适当的级别。

new window

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

  1. 1. 按下 Ctrl+R 键组合。

  2. 将弹出对话框,在此处输入要替换的文本。

  3. 此操作允许你替换单个匹配、全部匹配或跳过当前匹配。

replace single

要执行粒度级别的替换操作 -

  1. Shift+Ctrl+R 键组合。

  2. 它可以让你以项目、模块、目录和其他作用域替换文本。

Column Selection Mode

要启用列模式选择,在选择文本时按住 Alt 键。要永久启用列选择模式,选择 Edit → Column selection mode

column selection

Clipboard History

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

clipboard history

Code Completion

IntelliJ 会检查 code on the fly 并提供准确的代码完成。例如,当我键入单词 say 时 - 它会建议方法 sayHello()sayGoodBye()

code completion

代码补全在处理类对象时建议类属性和类方法。

Generating Code

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

  1. Select the Generate option.

  2. 它会列出可以为其生成代码的方法。

generate option

Code Inspection

我们已经看到 IntelliJ 识别语法错误、警告消息和 TODO 标记。除此之外,它还会建议代码改进、识别死代码和代码优化。例如,在下面给出的代码中,flag 的值始终为 true。因而 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

Comparing Files and Folders

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

  1. 按住 Ctrl 键并从项目视角选择要比较的文件。

  2. 右键单击它并选择 Compare Files 选项。

  3. 它将打开一个比较窗口,其中突出显示了更改。

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

类似地,要比较文件夹,请从项目视角(而不是文件)选择文件夹。

compare files

Getting Help

获取代码详细信息非常有用,例如方法说明、其返回类型、参数类型和参数数量——IntelliJ 可在编辑器窗口本身中提供这些详细信息。

Inline Documentation

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

inline documentation

Viewing Definition

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

viewing definition

Show Usage

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

show usage

View Parameters

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

view parameters

Linting Code

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

About SonarLint

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

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

Installation

按照以下步骤安装 SonarLint −

  1. Download SonarLint from here.

  2. 转到 File → Settings → Select plugins

  3. 单击 Install plugin from disk 按钮。

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

on screen installation

Code Analysis

安装并启用插件后,它将开始分析 code on the fly 。它将在 SonarLint 面板中报告问题。按照以下步骤查看当前文件的错误 −

  1. 单击 “当前文件” 选项卡。

  2. 它将报告问题,例如未使用的局部变量、未使用的类属性、消息记录等。

  3. 要了解更多有关问题的信息,请单击 SolarLint 面板中的问题。

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

severity as major

Do One Time Code Analysis

如果您不熟悉即时代码分析,那么您可以在准备好代码后禁用它并执行一次代码分析。按照以下步骤禁用即时代码分析 −

  1. 转到 File → Settings → Other Setting → SonarLint General 设置

  2. 在设置选项卡中取消选中 Automatically Trigger Analysis 复选框。

  3. 依次单击 ApplyOk 按钮。

automatically trigger analysis

Intellij Idea - Code Refactoring

在本章中,我们将介绍代码重构以及它在 IntelliJ 中的工作原理。代码重构是对代码进行重组,而无需更改其功能和可用性。可以对代码进行重构以提高代码可读性、性能或移除未使用/重复的功能。IntelliJ 为代码重构提供了强大的支持。本章讨论了各种代码重构操作。

Rename

重命名操作可用于重命名方法、其参数、类属性、局部变量等。我们来在 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() 方法中进行修改 -

  1. Select Employee word

  2. 转到 Refactor → Rename 并将其重命名为 Person。

rename actions

Replace Code Duplicates

这是强大的重构操作之一。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);
}

替换重复部分 -

  1. 转到重构 → 查找并替换代码重复。

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

replace code duplicates

Copy Refactoring

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

  1. 转到 Refactor → Copy ,它将打开对话框。

  2. 输入新名称和目标包。

  3. 单击“确定”按钮,即可完成所需操作。

copy class

Move Refactoring

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

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

  1. 转到重构 → 移动。

  2. 将出现一个新窗口。

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

move refactoring

Safe Delete

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

让我们看看实际操作。在编辑器中输入以下代码 −

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

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

  1. Select the sayHello() method.

  2. 右键单击它并选择 Refactor → Safe Delete 选项。

  3. 由于正在使用 sayHello() 方法,它将显示错误,如下面的屏幕截图所示 −

safe delete action

Change Signature

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

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

  1. Select method.

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

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

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

change signature

Type Migration

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

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

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

  1. 选择“String”数据类型。

  2. 右键单击它并选择 Refactor → Type migration

type migration
  1. 在给定的文本框中输入所需的数据类型。

  2. 选择作用域并单击“重构”按钮。

Intellij Idea - Running Projects

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

Create Temporary Configuration

  1. 当您运行或调试 Java 类或测试用例时,将创建临时配置。考虑以下步骤来了解其工作原理:——

  1. Create a Java class.

  2. 10. 右键单击它,然后选择 “Run” 选项。

  3. 11. 在第一次运行后,临时配置将添加到运行菜单中。

temporary configuration

Create Permanent Configuration

  1. 通过使用 IntelliJ 保存临时配置,可以将其转换为永久配置。要保存配置,请从运行菜单中单击 Save Configuration 选项:——

permanent configuration
  1. 您还可以通过编辑来修改现有配置。

Create New Configuration

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

  1. 15. 导航至 “Run → Edit Configuration”。

  2. 16. 单击加号按钮以添加新配置。

  3. 17. 从下拉列表中选择 “Application”。

new configuration
  1. 18. 它将创建未命名的配置。

  2. 19. 根据您的要求对其进行配置,然后单击 “OK” 按钮。

  3. 该已保存的配置可通过“运行”菜单访问,如同访问其他配置一样。

Sharing the Configuration

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

  1. 导航至 Run → Edit 配置。

  2. 从左侧窗格中选择配置,并单击“共享”复选框。

  3. 它将在磁盘上存储配置。

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

share configuration

Run Configuration

按照以下步骤使用特定配置运行项目 −

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

  2. 如以下屏幕截图所示运行项目 −

run configuration

Intellij Idea - Build Tools

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

Creating Maven Project

按照以下步骤创建 Maven 项目 −

  1. 导航到 File → Project

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

maven project
  1. 在新的项目窗口中,输入 tutorialspoint.com 作为 GroupId,并输入 HelloWorld 作为 ArtifactId。

  2. 在“新建”窗口中,将会打开 pom.xml 文件。

  3. 我们需要向此文件添加属性;最终的 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 类。按照以下步骤创建该类 −

  1. 导航到 src/main/java 目录。

  2. 右键单击它,然后选择 New → Java Class

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

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

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

  3. 输入项目名称,即 Maven-Package。

  4. 提供包作为命令行。

  5. 点击确定按钮。

command line
  1. 导航到“运行”,然后选择 Maven-Package 选项。

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

building package

Create Gradle Project

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

  1. 1. 导航至 File → Project 并选择 Gradle。

  2. 2. 单击 “Next” 按钮。

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

  4. 4. 单击 “Next” 按钮,验证项目详细信息,然后单击 “Finish” 按钮。

  5. 5. 按照屏幕上的说明完成进程。

finish button
  1. 6. 打开 buildl.gradle 文件,并按上图所示编写 Hello 任务。

  2. 7. 要编译此任务,请导航至 Run → Build-Gradle 选项。

Intellij Idea - Unit Testing

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

Create Unit test

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

  1. 选择 Navigate → Test 选项。

  2. 此时会弹出一个对话框,你要从中选择 Create New Test

  3. 按照屏幕上的说明继续操作 -

create unit test
  1. 提供有关测试的详细信息,如测试库、课程详细信息、setUp、tearDown 方法等。

tear down methods
  1. 单击继续按钮。

  2. 此时会创建一个测试课程。最初,该课程可能无法解析某些符号。将光标导航至错误行,此时会显示提示符。

  3. 从下拉菜单中选择相应的选项。我们已选择 Add library ‘junit.jar!’ to classpath 选项 -

classpath option

你可以根据业务要求在每个测试中添加逻辑。为了简单起见,我已将此项保留为空。

Run Unit Test

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

  1. 从编辑器窗口中选择单元测试课程。

  2. 导航至“运行”菜单并选择“运行”选项。

  3. 此时会生成以下结果:

run option

Intellij Idea - Debugging

调试器可以使应用程序调试更为容易。通过使用调试器,可以停止程序在某个时间点的执行、检查变量、深入某项功能、并执行许多操作。IntelliJ 提供内置的 Java 调试器。

Breakpoints

断点允许停止程序在某个时间点的执行。可以通过将鼠标悬停在编辑器的边距区域上并单击该区域来设置断点。

以红色圆圈符号表示断点。考虑在第 3 行设置断点。

breakpoint

考虑以下步骤来进一步了解断点的工作方式 -

  1. 右键单击红色圆圈符号。

  2. Select the More options.

  3. 只需单击同一符号即可删除断点。

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

  1. 导航到“运行”菜单。

  2. Select the Debug option.

Step into

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

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

program execution

Step out

“跳出”操作与“进入”操作完全相反。例如,如果您在上述场景中执行“跳出”操作,那么调试器将返回 sayGoodBye() 函数并在第 10 行开始执行。

step out

Step over

“跨步执行”操作不会进入函数,而是会跳转到代码的下一行。例如,如果您在第 9 行并执行“跨步执行”操作,那么它将把执行移动到第 10 行。

step over

Resume Program

“继续程序”操作将通过忽略所有断点来继续执行程序。

breakpoints

Stop action

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

stop action

Smart step into

在调试过程中,我们有时可能会到达调用多个方法的一行代码。在调试这些代码行时,调试器通常允许我们使用 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 个附加函数。让我们在这个函数中设置断点。按照以下步骤执行智能单步进入:

  1. Go to run

  2. Select smart step into.

  3. 选择要采用的子函数。

child function

Inspecting variables

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

inspecting variables

Evaluate expression

“求值表达式”允许动态求值表达式。按照以下步骤执行此操作:

  1. Start application in debugger

  2. Navigate to Run→Evaluate expression.

  3. 输入表达式。在下面给出的示例中,变量‘i’的当前值为 0;因此,表达式‘i > 100’将求值为 false

evaluate expression

Intellij Idea - Profiling

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

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

Introduction

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

Benefits

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

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

  3. Monitoring of application threads

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

  5. 线程转储 - 当出现死锁和竞争状态时,非常有用。

  6. 堆转储 - 在分析堆内存分配时非常有用。

Configuration

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

  1. Download it from here.

  2. Extract the zip file.

  3. 导航到 etc/visualvm.conf 文件,并向文件中添加以下行:

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

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

Monitoring application

现在让我们看看如何监视应用程序。根据以下步骤来理解相同的操作:

  1. 双击 visualvm.exe 文件。

  2. 从左侧窗格中选择应用程序。

  3. Select the monitor tab.

monitoring application

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

Insights about Threads

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

insights threads

Sampling Application

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

CPU sampling

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

memory sampling

Memory profiling

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

memory profiling

Memory leaks

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

如果程序不使用的对象未被删除,那么它将保留在内存中,GC 无法回收其空间。如果应用程序中的字节数和实例数持续大幅增加,以至于用尽所有空间,则这可能是内存泄漏的征兆。

Profiling application

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

CPU profiling

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

cpu profiling

Memory profiling

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

cpu memory profiling

Intellij Idea - Version Control

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

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

Git

在本节中,我们将了解如何使用 Git。

Clone

要克隆现有的 Git 仓库 −

  1. 导航至文件 → 新建 → 版本控制 → Git 中的项目。

  2. 输入仓库 URL、父目录和目录名称。

  3. 点击克隆按钮继续。

clone repository
  1. 在上述步骤成功运行后,仓库将被克隆。

Track changes

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

  1. 导航至 VCS → Git → 与最新仓库版本比较。

  2. 上述步骤将打开 diff 窗口。

  3. 你会看到右侧有一行新的绿色背景。

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

track changes

Revert local changes

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

  1. 导航至 VCS → Git → Revert 选项。

  2. 它将要求确认并删除你的更改。

revert changes

Add file to repository

要将文件添加到仓库,请导航至 VCS → Git → Add option 。此操作类似于 git add 操作。

Commit changes

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

  1. 导航至 VCS → Git → Commit File 选项。

  2. 选择要提交的文件。

  3. 输入提交信息并单击“提交”按钮。

commit changes

Push changes to the remote repository

推送操作会将本地更改发送至远程存储库。要推送更改 −

  1. 导航至 VCS → Git → Push 选项。

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

  3. 验证提交,然后单击“推送”按钮发布您的更改。

push changes

View history or logs

要显示历史记录,请导航至 VCS → Git → Show history option 。此操作类似于 git log 命令。它将按如下所示显示历史记录 −

view history or logs

Get updates

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

  1. 导航至 VCS → Git → Pull 选项。

  2. 根据您的要求选择选项。

  3. 单击“拉取”按钮。

get updates

Add existing project to Git

要在 Git 下添加现有项目 −

  1. 导航至 VCS → Import into Version Control → Create Git 存储库。

  2. 通过浏览目录选择项目。

  3. 点击确定按钮。

existing project

Subversion

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

Checkout

签出 SVN 存储库 −

  1. 导航至 File → New → Project from Version Control → Subversion.

  2. Enter repository URL.

  3. 单击 OK 按钮。

checkout

Track changes

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

  1. 导航至 VCS→Subversion→与最新存储库版本比较

  2. 您可以看到右侧有一行新的内容,背景色为绿色。

  3. SVN 以绿色背景显示该行内容以表示添加了新内容。如果我们删除任何内容,则会显示为红色。

latest repository

Revert local changes

按照以下步骤还原您所做的本地更改 −

  1. 导航至 VCS → Subversion → Revert 选项。

  2. 它将要求确认并删除你的更改。

remove your changes

Commit changes to remote repository

按照以下步骤提交远程仓库中的更改 −

  1. 导航至 VCS → Subversion → Commit Files 选项。

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

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

commit button

View history or logs

若要显示历史记录,请导航至 VCS → Subverion → Show history 选项。此选项类似于 svn log 命令。它将按以下方式显示历史记录 −

history navigate

Update operation

要获取最新更改,请导航至 VCS → Subversion → Update File/Update Folder 选项。

update operation

Add existing project to Subversion

按照以下步骤在 SVN 下添加现有项目 −

  1. 导航至 VCS → Import into Version Control → Import into Subverion

  2. 输入仓库 URL,然后单击“导入”按钮 −

add existing project

Intellij Idea - Databases

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

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

Create Database

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

create database

Connect to Database

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

  1. 导航至 View → Tool Windows → Database

  2. 单击绿色加号图标并选择数据源 → MySQL。

connect to a database
  1. 输入主机地址,然后点击测试连接按钮。

  2. 如果一切正常,则该图像显示成功,如上图所示。

  3. 单击确定按钮保存连接。

Create table

按照这些步骤创建新表:

  1. 右键单击数据库窗口,然后选择 模式。

  2. 选择 New → Table 选项

create table
  1. 将出现一个新窗口。使用列、类型等定义表。

table with columns
  1. 点击执行按钮

  2. 点击执行按钮

Insert Data

按照这些步骤插入数据:

  1. 从数据库窗口选择表。

  2. 它将在新窗口中打开表。

  3. 点击加号图标,以插入新行。

  4. 单击提交按钮,使更改永久生效。

insert data

Retrieve Data

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

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

retrieve data

Intellij Idea - Migrating from NetBeans

NetBeans 是另一个流行的 Java IDE。如果你当前是 NetBeans 的用户,并且想要从 NetBeans 迁移到 IntelliJ,那么这里将是一个不错的起点。

本章讨论了在 IntelliJ 中导入 NetBeans 项目及其与 NetBeans 等效的术语、流行的快捷键和常见问题。

Import NetBeans project

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

  1. 导航至文件 → 新建 → 现有来源项目

  2. 选择你的 NetBeans 项目目录。

  3. 当导入项目向导打开时,选择从现有来源创建项目选项。

  4. 遵循屏幕上的说明继续。

IntelliJ vsNetBeans terminology

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

IntelliJ

NetBeans

Module

Project

Global library

Global library

Module library

Project library

Module dependency

Project dependency

Module SDK

Project-specific SDK

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

Action

Shortcut

Run Java program

ctrl+shift+F10

Organize imports

ctrl+alt+o

System.out.println()

键入 sout 并按 Ctrl+j

Delete current line

ctrl + y

Search

Ctrl+Shift+F

Generate getter and setter

alt + insert

Format code

Ctrl+Alt+L

Comment out code

ctrl + /

Go to line

ctrl + g

Go to declaration

ctrl + b

Rename

shift+F6

Move lines

Ctrl+Shift+向上/向下

Debugger shortcuts

下表列出了几个重要的调试器快捷键:

Debug action

Shortcut

Debug a program

Shift + F9

Choose configuration and debug

Shift+Alt+F9

Step over

F8

Step into

F7

Smart step into

Shift + F7

Step out

Shift + F8

Force step over

Shift+Alt+F8

Force step into

Shift+Alt+F7

Resume program

F9

Evaluate expression

Alt+F8

Toggle breakpoints

Ctrl+F8

View breakpoints

Ctrl+Shift+F8

FAQsand Tips

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

Can I use the NetBeans key bindings in IntelliJ IDEA?

  1. 导航至文件 → 设置,然后选择键盘映射。

  2. 从下拉框中选择 NetBeans

drop down box

Is local history in IntelliJ IDEA different from that in NetBeans?

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

Can I enable ‘compile on save' in IntelliJ IDEA?

  1. 导航至文件 → 设置 → 构建、执行、部署 → 编译器

  2. 选择自动构建项目选项。

  3. 点击确定按钮。

build project automatically

Can I use NetBeans plugins in IntelliJ IDEA?

不行,你不能。

Is it possible to build NetBeans RCP applications with IntelliJ IDEA?

这是有可能的;但是,你无法获得与使用 NetBeans 所获得的相同类型支持(向导、菜单操作等)。要了解更多详细信息,请访问 this.

Intellij Idea - Migrating from Eclipse

Eclipse 是另一种流行的 Java IDE。如果您是 Eclipse 的现用用户,并想从其迁移到 IntelliJ,那么这是一个很好的起点。

本章讨论了如何在 IntelliJ 中导入 Eclipse 项目、它的 Eclipse 等价术语、常用快捷方式和常见问题。

Import existing project

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

  1. 导航至文件 → 新建 → 从现有来源进行项目。

  2. 选择你的 NetBeans 项目目录。

  3. 当导入项目向导打开时,选择从现有来源创建项目选项。

  4. 遵循屏幕上的说明继续。

IntelliJ vsEclipse terminology

下表比较了 IntelliJ 和 NetBeans 术语 -

IntelliJ

Eclipse

Project

Workspace

Module

Project

Facet

Facet

Library

Library

SDK

JRE

Path variable

Classpath variable

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

Action

Shortcut

Run java program

ctrl+shift+F10

Organize imports

ctrl+alt+o

System.out.println()

键入 sout,然后按 Ctrl+J

Delete current line

ctrl + y

Search

Ctrl+Shift+F

Generate getter and setter

alt + insert

Format code

Ctrl+Alt+L

Comment out code

ctrl + /

Go to line

ctrl + g

Go to declaration

ctrl + b

Rename

shift+F6

Move lines

Ctrl+Shift+向上/向下

Debugger shortcuts

下表列出了一些常用的调试快捷键 -

Debug action

Shortcut

Debug a program

Shift + F9

Choose configuration and debug

Shift+Alt+F9

Step over

F8

Step into

F7

Smart step into

Shift + F7

Step out

Shift + F8

Force step over

Shift+Alt+F8

Force step into

Shift+Alt+F7

Resume program

F9

Evaluate expression

Alt+F8

Toggle breakpoints

Ctrl+F8

View breakpoints

Ctrl+Shift+F8

FAQsand Tips

在此部分中,我们会看到一些常见问题和提示。常见问题及提示如下 -

Use Eclipse Compiler

Eclipse 使用它自己的编译器,而 IntelliJ IDEA 使用与项目 JDK 捆绑在一起的 javac 编译器。如果你想使用 Eclipse 编译器 -

  1. 导航到 File → Settings → Build, Execution, Deployment → Compiler → Java Compiler

  2. 从用户编译器下拉菜单中选择所需的编译器。

eclipse compiler

Eclipse Keymap

对于不想学习新快捷键的 Eclipse 用户,IntelliJ IDEA 提供了 Eclipse 快捷键映射,它非常类似其快捷键 -

  1. 导航到文件 → 设置 → 快捷键映射选项。

  2. 从快捷键映射下拉菜单中选择 Eclipse。

eclipse keymap

Code formatting

若要导入你的 Eclipse 格式化程序设置 -

  1. 导航到 File → Settings → Editor → Code Style → Java

  2. 选择 Eclipse XML 个人资料。

eclipse formatter settings

Working with Build Tools

与 Eclipse 类似,IntelliJ 并不为编辑 Maven/Gradle 配置文件提供可视化形式。

一旦你导入/创建了你的 Maven/Gradle 项目,你就可以直接在文本编辑器中编辑其 pom.xml/build.gradle 文件。