🎉 为什么会有这篇教程:熟悉 IDEA 并能灵活熟练使用 IDEA 能极大提高您的开发效率!!!

📍 本文教程基于 IDEA 2022.2

📍 本文教程的所有操作图片均是实操测试截图,合计 213 张图片,呈现的截图使用的 IDEA 的 Darcula 主题。

📍 您的任何设置在配置后记得点击 ApplyOk 进行保存。

📍 本文教程更适用于 IDEA 2022 及以下版本。如果您的 IDEA 版本是 2023 及以上,由于不同版本 IDEA 操作可能存在一定差异,请参考我的另一篇教程:2023版IDEA的下载、安装、配置、快捷键、模板、插件与使用。当然,如果您的 IDEA 版本是 2022 及以下,建议您阅读完 2022 版 IDEA 教程后再去看2023版的文章,因为相较于 2022 版肯定是增加了更多的实用操作并对内容进一步优化完善。

文章目录

1.IntelliJ IDEA 介绍

1.2 JetBrains 公司介绍

IDEA(https://www.jetbrains.com/zh-cn/)是 JetBrains 公司的产品,公司旗下还有其它产品,比如:

  • WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术;
  • PyCharm:用于开发 python
  • PhpStorm:用于开发 PHP
  • RubyMine:用于开发 Ruby/Rails
  • AppCode:用于开发 Objective - C/Swift
  • CLion:用于开发 C/C++
  • DataGrip:用于开发数据库和 SQL
  • Rider:用于开发.NET
  • GoLand:用于开发 Go

Android Studio:用于开发 android(google 基于 IDEA 社区版进行迭代)

image-20221113234423595

1.2 IntelliJ IDEA 介绍

IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。

💬 IntelliJ IDEA 在 2015 年的官网上这样介绍自己:

Excel at enterprise, mobile and web development with Java, Scala and Groovy, with all the latest modern technologies and frameworks available out of the box.

IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。

1.3 IDEA 的主要功能介绍

1.3.1 语言支持上

image-20221113234542899

1.3.2 其他支持

image-20221113234601890

1.4 IDEA 的主要优势:(相较于 Eclipse 而言)

  • 强大的整合能力。比如:Git、Maven、Spring 等

  • 提示功能的快速、便捷

  • 提示功能的范围广

    image-20221113234643962

  • 好用的快捷键和代码模板

  • 精准搜索

1.5 IDEA 的下载地址

🏠 中文地址: https://www.jetbrains.com/zh-cn/idea/download/#section=windows

🏠 英文地址:https://www.jetbrains.com/idea/download/#section=windows

IDEA 分为两个版本:旗舰版(Ultimate)社区版(Community)。旗舰版收费(限 30 天免费试用),社区版免费,这和 Eclipse 有很大区别。

image-20221113234917904

这里提供了不同操作系统下的两个不同版本的安装文件。

两个不同版本的详细对比,可以参照官网:https://www.jetbrains.com/products/compare/?product=idea&product=idea-ce

1.6 官网提供的详细使用文档

🏠 https://www.jetbrains.com/help/idea/getting-started.html

2.windows 下安装过程

2.1 安装前的准备

2.1.1 硬件要求(Hardware requirements)

  • 内存:2 GB RAM minimum, 4 GB RAM recommended
  • 硬盘:1.5 GB hard disk space + at least 1 GB for caches
  • 屏幕:1024x768 minimum screen resolution

建议配置:内存 8G 或以上,CPU 最好 i5 以上,最好安装块固态硬盘(SSD),将 IDEA安装在固态硬盘上,这样流畅度会加快很多。

2.1.2 软件要求(Software requirements)

JRE 1.8 is bundled with the IntelliJ IDEA distribution. You do not need to install Java on your computer to run IntelliJ IDEA.A standalone JDK is required for Java development.

JRE 1.8与IntelliJ IDEA发行版捆绑在一起。运行IntelliJ IDEA不需要在计算机上安装Java。Java开发需要独立的JDK。

2.2 具体安装过程

2.2.1 官网下载

🏠 下载地址:https://www.jetbrains.com/zh-cn/idea/download/#section=windows

这里我们下载旗舰版进行演示,如果你没有学校教育邮箱可选择下载Community社区版

image-20221113235949102

2.2.2 双击开始安装

image-20221114000355154

image-20221114000435212

2.2.3 指定安装目录

image-20221114000621142

2.2.4 选项配置

image-20221114001002451

  • Create Desktop Shortcut:创建桌面快捷方式图标,建议勾选
  • Update context menu:是否将从文件夹打开项目添加至鼠标右键,根据需要勾选
  • Create Associations:idea关联文件格式,不推荐勾选,由于idea是重量级的软件,因此打开单个文件一般都是使用如Sublime Text、EditPlus等轻量级文本编辑器打开
  • Update PATH variable (restart needed):是否将IDEA启动目录添加到环境变量中,即可以从命令行中启动IDEA,根据需要勾选。但是我们一般都用自己的,即我们在安装 JDK 时都会自己配置好与下载的JDK相关联的环境变量。

2.2.5 快捷方式名设置(默认即可)

image-20221114001547541

2.2.6 安装

image-20221114001717448

2.2.7 关闭安装程序

image-20221114001814227

2.3 安装总结

从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。

2.4 查看安装目录结构

找到你的安装目录,查看里面的文件:

image-20221114002423762

  • bin:容器,执行文件和启动参数等
  • help:快捷键文档和其他帮助文档
  • jbr:即Jetbrains Runtime,是IDEA 自带的 Java 运行环境
  • lib:idea 依赖的类库
  • license:各个插件许可证信息
  • plugin:插件

📍 bin 目录下

image-20221114003209243

关于调整VM配置文件 idea64.exe.vmoptions

image-20221114003900002

  • 如果是32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了

  • 64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。

  • 64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目, 建议进行修改,常修改的就是下面 3 个参数:

    • -Xms128m:设置初始的内存数,增加该值可以提高 Java 程序的启动速度。

      16 G 内存的机器可尝试设置为 -Xms512m

    • -Xmx750m:设置最大内存数,提高该值,可以减少内存 Garage垃圾 回收的频率,提高程序性能。

      16 G 内存的机器可尝试设置为 -Xmx1500m

    • -XX:ReservedCodeCacheSize=512m:保留代码占用的内存容量

2.5 查看设置目录结构

如果找不到该文件,可以先启动idea创建新项目后再次查看是否存在。

C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2022.2

image-20221114005137361

这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置, 所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。

3.启动idea-旗舰版认证

申请教育邮箱获取个人许可证参考:https://blog.csdn.net/qq_62982856/article/details/126570223

4.创建 Java 工程,运行 HelloWorld

4.1 创建 Java 工程

4.1.1 新建项

IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。

image-20221114010242125

  • Create New Project:创建一个新的工程
  • Open:打开一个已有工程
  • Get from VCS:可以通过服务器上的项目地址 check out Github 或其他 Git 托管服务器上的项目 拉取到本地

4.1.2 新建项信息配置

image-20221114011006981

image-20221114011125078

4.2 设置显示常见的视图

image-20221114011503413

4.3 工程界面展示

image-20221114011736857

  • 工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码。
  • 工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等。

4.4 创建 package 和 class

在 src 目录下创建一个包:com.fox

image-20221114011902054

image-20221114011940067

image-20221114011956530

在com.fox 包下创建一个HelloWorld程序:

image-20221114012051000

image-20221114012235306

接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试:

package com.fox;

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

image-20221114012417903

image-20221114013103576

在 IDEA 中写完代码后,不用点击保存。因为 IDEA 会进行实时保存代码。

5.创建模块(Module)

5.1 Project与Module的概念

在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:

  • IDEA 官网说明:

An Eclipse workspace is similar to a project in IntelliJ IDEA

An Eclipse project maps to a module in IntelliJ IDEA

  • 翻译:

Eclipse 中 workspace 相当于 IDEA 中的 Project

Eclipse 中 Project 相当于 IDEA 中的 Module

5.2 一个 Project 打开一个 Window 窗口

从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例, 即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。

5.3 为什么需要module

在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。

image-20221114013600877

这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。举例:

image-20221114013617852

相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。

5.4 module的创建

image-20221114013838092

image-20221114014036376

image-20221114014112938

创建一个新类进行测试:

image-20221114014216109

image-20221114014406844

package com.module;

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

image-20221114014548499

image-20221114014619439

5.5 module的去模块化

这里说的去模块化,不是指删除module文件夹,而是指该项目选择忽略该module。

image-20221114015009226

image-20221114015038616

image-20221114015055115

image-20221114015111120

image-20221114015219408

但必须明白,在项目文件夹下还是依旧存在该module的:

image-20221114015426951

image-20221114015543294

5.6 module的删除

这里说的删除,就是真正的删除文件夹,从硬盘中去除。

image-20221114015709422

image-20221114015726005

image-20221114015751080

我们依旧可以再查看一下项目文件夹下是否存在 module01 的文件夹:

image-20221114015843291

image-20221114015935427

5.7 查看工程结构

image-20221114020104157

image-20221114020515455

SDK 就是 Software Development Kit 的缩写,中文意思就是【软件开发工具包】。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做【SDK】。以下是详细介绍:

  1. SDK的外语全称是Software Development Kit,中文为:软件开发工具包,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合;
  2. 可以将其理解为,由第三方服务商提供的实现软件产品某项功能的工具包,里面一般以集合kpi和文档、范例、工具的形式出现,也就是由很多类型文件的集合;
  3. 通常SDK是由专业性质的公司提供专业服务的集合,比如提供安卓开发工具、或者基于硬件开发的服务等。也有针对某项软件功能的SDK,如推送技术、图像识别技术、移动支付技术等,同时资源优势类的公司也提供资源共享的SDK,如一些广告SDK提供盈利渠道,分发SDK提供产品下载渠道。
  4. 目前在国内互联网环境中大部分的SDK都是免费的, 为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

6.常用配置

IntelliJ IDEA 有很多人性化的设置,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。

image-20221114021008301

image-20221114021209148

6.1 Appearance & Behavior

6.1.1 设置主题

6.1.1.1 使用系统提供的主题

image-20221114021411681

6.1.1.2 使用自定义主题

image-20221114022130268

效果展示:

image-20221114022148674

取消自定义背景样式:

image-20221114022244626

6.1.2 设置窗体及菜单的字体及字体大小

image-20221114022713834

6.1.3 设置编辑区颜色主题

image-20221114023336653

image-20221114023436027

image-20221114023530224

6.1.4 更多主题的补充说明

如果想要更多的主题效果的话,可以到如下的网站下载:https://plugins.jetbrains.com/search?tags=Theme

image-20221114024552866

image-20221114024711331

可能会弹出一个白框,直接 got it 即可。这时会正常下载该 jar 包。

image-20221114024843708

idea :file –> Manage IDE Settings -> Import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。

image-20221114024939046

下一步可能会报错,导入失败,具体请看下图后面的说明。

image-20221114102022415

点击OK后,一路确认,在重启以后,新主题会自动启用。但可能会出现如下错误:

image-20221114102512598

如果出现了如下报错说明导入失败,我目前暂未找到解决方案,但可以如下方式导入:

image-20221114102753903

image-20221114102839503

image-20221114102920093

image-20221114103038493

当然,也可以直接搜索对应插件进行安装,然后重启生效:

image-20221114104017217

如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。

image-20221114104132867

6.2 Editor - General

6.2.1 设置鼠标滚轮修改字体大小

我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。

image-20221114104417424

6.2.2 设置鼠标悬浮提示

image-20221114105234229

效果展示:

image-20221114105402477

6.2.3 设置自动导包功能

手动导包,需要将光标放在需要导包的爆红代码上,然后 alt+enter ,选择 import class 选择需要导入的类即可。

image-20221114105645420

但这样明显很麻烦,我们让编译器能自动导入没有冲突的类(注意:上图的Date类由于在多个包中存在,我们依旧需要自己导入,但如果你写了Scanner类编译器就可以帮你自动导入):

image-20221114110245043

  • Add unambiguous imports on the fly:自动导入不明确的结构
  • Optimize imports on the fly:自动帮我们优化导入的包

6.2.4 设置显示行号和方法间的分隔符

  • Show line numbers:显示行数。我建议一般这个要勾选上。
  • Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上。

image-20221114110448960

效果展示:

image-20221114110638566

6.2.5 忽略大小写提示

IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写

区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer, IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuffer 就可以进行代码提示和补充。

如果想不区分大小写的话,取消勾选 Match case 即可。

image-20221114111342588

6.2.6 设置取消单行显示 tabs 的操作与设置最大打开标签数

在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高, 因为单行会隐藏超过界面部分 Tab,这样找文件不方便。

image-20221114220535096

image-20221114235237632

6.3 Editor – Font

6.3.1 设置默认的字体、字体大小、字体行间距

image-20221114111828295

6.4 Editor – Color Scheme

6.4.1 修改当前主题的字体、字体大小、字体行间距

如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:

image-20221114112215376

6.4.2 修改当前主题的控制台输出的字体及字体大小

image-20221114112441831

效果展示:

image-20221114112529871

6.4.3 修改代码中注释的字体颜色

  • Doc Comment – Text:修改文档注释的字体颜色
  • Block comment:修改多行注释的字体颜色
  • Line comment:修改当行注释的字体颜色

image-20221114221012146

6.5 Editor – Code Style

6.5.1 设置超过指定 import 个数,改为*

image-20221114221440949

6.6 Editor – File and Code Templates

6.6.1修改类头的文档注释信息

/**
@author 狐狸半面添
@create ${YEAR}-${MONTH}-${DAY} ${TIME}
*/

我们将如上信息放到上方:

image-20221114222106959

当创建一个新文件(类/接口)时,会自动加上文档注释信息:

image-20221114222155625

常用的预设变量:

  • ${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.
  • ${PROJECT_NAME} - the name of the current project.
  • ${FILE_NAME} - the name of the PHP file that will be created.
  • ${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.
  • ${USER} - the login name of the current user.
  • ${DATE} - the current system date.
  • ${TIME} - the current system time.
  • ${YEAR} - the current year.
  • ${MONTH} - the current month.
  • ${DAY} - the current day of the month.
  • ${HOUR} - the current hour.
  • ${MINUTE} - the current minute.
  • ${PRODUCT_NAME} - the name of the IDE in which the file will be created.
  • ${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc.
  • ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc.

6.7 Editor – File Encodings

6.7.1 设置项目文件编码

Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选, 不然 Properties 文件中的注释显示的都不会是中文。

image-20221114222738574

6.7.2 设置当前源文件的编码

对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:

  • Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
  • Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件, 新编码是什么则是什么。
  • 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。

image-20221114223014412

如果文件中出现了中文,还会出现如下提示:

image-20221114223127091

6.8 Build,Execution,Deployment

6.8.1 设置自动编译

image-20221114223749579

构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。

image-20221114223823285

6.9 设置为省电模式

image-20221114223927221

如上图所示,IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。我们不建议勾选此项,如果是刚学Java的小伙伴可以勾选此项来练习编写java代码的能力。

6.10 设置代码水平或垂直显示

水平显示演示:

image-20221114224231791

image-20221114224600171

垂直的效果就不再演示:选择 split Downsplit and move Down 即可

7.设置快捷键(Keymap)

7.1 设置快捷为 Eclipse 的快捷键

image-20221114224913947

7.2 通过快捷键功能修改快捷键设置

image-20221114225802377

7.3 通过指定快捷键,查看或修改其功能

image-20221114225902980

image-20221114225939648

7.4 我的常用快捷键

功能快捷键
光标在接口方法处,可以去跳转到实现该接口的子类去重写该方法Ctrl+Enter
万能解错/生成返回值变量/提示/优化Ctrl+Enter
光标在方法处,定位到实现该方法的类的方法处Ctrl+Alt+b
定位在接口处,看到接口的子接口和实现子类Ctrl+Alt+b
光标目标切换大小写Ctrl+Shift+U
在本文件中搜索关键字快速定位Ctrl+f
在所有文件中查找关键字Ctrl+shift+f
快捷语句(选中后 region...endRegion Comments 可以实现代码折叠)ctrl + alt + t
方法重写ctrl + i
全局关键字查找ctrl + n
复制文件名shift + c
查看继承关系ctrl + h
查看当前所在类的所有方法并可以搜索ctrl + F12
查看方法与变量的使用ctrl + alt + h
查找变量的使用alt + F7
entity基本方法的生成alt + insert
查看方法参数ctrl + p
复制光标所在行到下一行ctrl + d
光标向下插入新行并使光标移至新行shift + enter
退回到前一个编辑的页面alt + left(箭头)
进入下一个编辑的页面(针对上一条)alt + right(箭头)
退回到上一个编写的光标处ctrl + alt + left
进入到下一个编写的光标处(针对下一条)ctrl + alt + right
代码格式化ctrl + alt + L
复制代码ctrl + c
撤销ctrl + z
反撤销ctrl + y
剪切ctrl + x
粘贴ctrl + v
保存ctrl + s
全选ctrl + a
代码单行注释ctrl + /
代码多行注释ctrl + shift + /
选中部分整体向后移tab
选中部分整体向前移shift + tab
当前所在类重写Object类的某个方法ctrl + o
对标识符进行名字重构shift + F6
查找文件shift + shift
查看类的继承结构图ctrl + alt + shift + u
关闭当前文件ctrl + F4
查看最近访问的文件ctrl + e
选择要粘贴的内容ctrl + shift + v
将选中封装成一个方法ctrl + alt + m

8.关于模板(Templates)

Editor – Live Templates 和 Editor – General – Postfix Completion

8.1 Live Templates(实时代码模板)功能介绍

官方介绍 Live Templates:https://www.jetbrains.com/help/idea/using-live-templates.html

它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();

8.2 已有的常用模板

Postfix Completion 默认如下:

image-20221115014139794

Live Templates 默认如下:

image-20221115014530819

二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时, 有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒。

8.2.1 main

可生成 main 方法

8.2.2 sout

System.out.println() 快捷输出。

类似地:

soutp = System.out.println("方法形参名 = " + 形参名);

soutv = System.out.println("变量名 = " + 变量);

soutm = System.out.println("当前类名.当前方法"); 

“abc”.sout	=> System.out.println("abc");

8.2.3 fori

可生成 for 循环

类似地:

iter:可生成增强 for 循环
    
itar:可生成普通 for 循环

8.2.4 list.for

可生成集合 list 的 for 循环

List<String> list = new ArrayList<String>();
//输入: list.for 即可输出:
for(String s:list){
    
}

类似地:

ArrayList arrayList = new ArrayList();
//输入: list.fori 即可输出:
for (int i = 0; i < arrayList.size(); i++) {

}
ArrayList arrayList = new ArrayList();
//输入: list.forr 即可输出:
for (int i = arrayList.size() - 1; i >= 0; i--) {

}

8.2.5 ifn

可生成 if(xxx == null)

类似的:
inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null

8.2.6 prsf

可生成 private static final

类似的:

  • psf:可生成 public static final
  • psfi:可生成 public static final int
  • psfs:可生成 public static final String

8.3 修改现有模板:Live Templates

如果对于现有的模板,感觉不习惯、不适应的,可以修改。示例:

image-20221115020035786

8.4 自定义模板

IDEA 提供了很多现成的 Templates 。但你也可以根据自己的需要创建新的Template。

先定义一个模板的组:

image-20221115020349877

image-20221115020444867

选中自定义的模板组,点击”+”来定义模板:

image-20221115020655897

下图是我们进行的自定义模板:

  • Abbreviation:模板的缩略名称
  • Description:模板的描述
  • Template text:模板的代码片段

image-20221115022813009

选择应用范围:点击 Define。

image-20221115022958075

选择如下:

image-20221115023059778

image-20221115023144636

我们进行一个测试:

image-20221115023337238

9.创建 Java Web Project 或 Module

9.1 创建的动态 Java Web

image-20221116003059605

image-20221116002949010

创建以后的工程结构如下:

image-20221116003152117

打开 index.jsp,修改内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>主页</title>
</head>
<body>
    <h1 style="color: red">你好,我是狐狸半面添</h1>
</body>
</html>

image-20221116003338184

9.2 安装 Tomcat

🏠 Tomcat下载地址:https://tomcat.apache.org/download-80.cgi

image-20221116003554278

下载完成解压缩会得到一个 apache-tomcat-8.5.83 文件夹,放到硬盘任意位置即可。

9.3 idea配置Tomcat

idea添加 tomcat 镜像:

image-20221116003938011

image-20221116011952060

image-20221116011013461

image-20221116011139631

image-20221116011206985

image-20221116011438114

image-20221116011525084

image-20221116011557664

然后运行该项目即可:

image-20221116012207308

接着就会弹出浏览器访问界面,如果没有弹出,则可以访问:http://localhost:8080/javaweb01/

image-20221116012304561

10.关联数据库

前提:保证你有数据库。

本机数据库下载与安装教程:MySQL下载与安装、mysql服务启动与停止、mysql使用cmd命令行登录、SQLyog下载与安装,sqlyog登录与操作mysql_是谢添啊的博客-CSDN博客

10.1 关联方式

image-20221116012834586

image-20221116013337866

下面的下载驱动文件的速度可能会比较慢,因为是直接从国外的仓库下载驱动文件

image-20221116013406179

image-20221116013739325

image-20221116013759508

再点击 OK 即可。

image-20221116014057796

如果没有看到,则可以进行以下操作后再重试:

image-20221116014203169

image-20221116014458204

表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多, IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。

10.2 常用操作

10.2.1 同步当前的数据库连接。

这个是最重要的操作。配置好连接以后或通过其他工具操作数据库以后,需要及时同步。

image-20221116014629949

10.2.2 配置/编辑当前的连接

image-20221116014741418

10.2.3 断开当前的连接

image-20221116014755468

10.2.4 显示相应数据库对象的数据

image-20221116014907219

10.2.5 编辑修改当前数据库对象

image-20221116015028005

10.2.6 修改表记录

image-20221116015219786

image-20221116015257151

如果想要撤销我们的上一次提交后的修改操作,则可以这样做:

image-20221116015535519

image-20221116015608791

image-20221116015634028

11.版本控制(Version Control)

不管是个人开发还是团队开发,版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。

很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的插件支持,但是该装什么版本控制客户端还是要照样装的。

IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理, 所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的Github 项目。

在实际开发中,发现在 IDEA 中使用 SVN 的经历不算愉快,经常会遇到很多问题,比如紧急情况下 IDEA 无法更新、提交等。所以这里,谈下在 IDEA 中使用 Git。

11.1 提前安装好 Git 的客户端

🏠 Git下载与安装教程:git介绍,安装(手把手),命令与使用(包含IDEA操作,github,gitee的万字图文详述)_是谢添啊的博客-CSDN博客

11.2 关联 git.exe

image-20221116020526275

11.3 关联 GitHub 上的账户,并测试连接

image-20221116020937327

image-20221116020959123

进行登录:

image-20221116021140844

配置信息:

image-20221116021247861

image-20221116021312723

全部勾选后,点击 Generate token

image-20221116021655650

image-20221116021736053

image-20221116021812904

11.4 演示使用

11.4.1 在 GitHub 上创建账户下的一个新的仓库作为测试

image-20221116022007243

image-20221116022117628

创建成功:

image-20221116022204685

11.4.2 支持从当前登录的 Github 账号上直接 Checkout 项目

image-20221116022357866

image-20221116022457588

image-20221116023134581

11.4.3 在 IDEA 中 clone GitHub 上的仓库

image-20221116022527007

将上图复制得到的 url 粘贴至idea中:

image-20221116022653476

image-20221116022715449

image-20221116022731793

成功拉取到本地:

image-20221116022759839

11.4.4 另一种clone GitHub仓库的方式

image-20221116023301835

11.4.5 本地代码分享到 GitHub

image-20221116023414424

此时会在 GitHub 上创建一个新的仓库,而非更新已经存在的仓库。

image-20221116023533984

image-20221116023617315

image-20221116023747052

查看一下我们的Github仓库:

image-20221116024657743

11.5 Git 的常用操作

image-20221116024756819

  • clone:拷贝远程仓库
  • commit:本地提交
  • push:远程提交
  • pull:更新到本地

11.6 没有使用 Git 时本地历史记录的查看

image-20221116024125261

image-20221116024211619

即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。

12.断点调试

12.1 Debug 的设置

设置 Debug 连接方式,默认是 Socket。Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,内存占用相对较少

image-20221116025027484

12.2 常用断点调试快捷键

image-20221116025320123 step over 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内

image-20221116025353770 step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内

image-20221116025716884 force step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内

image-20221116025446449 step out 跳出

image-20221116025514193 resume program 恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上

image-20221116025546600 stop 停止

image-20221116025611664 mute breakpoints 点中,使得所有的断点失效

image-20221116025640673 view breakpoints 查看所有断点

Force Step Into 也是单步执行,他与Step Into 类似。 二者唯一的区别是: Step Into 不会进入到JDK实现的方法中,而Force Step Into 会进入到JDK实现的方法中。 Force Step Into 会进入到任何方法中单步执行!

12.3 条件断点

12.3.1 说明

调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。

12.3.2 具体操作

在断点处右击调出条件断点。可以在满足某个条件下,实施断点。

📝 示例:

/**
 * @author 狐狸半面添
 * @create 2022-11-16 22:21
 */
public class HelloWorld {
    public static void main(String[] args) {
        for (int i = 0;i<100;i++){
            System.out.println("i");
        }
    }

}

image-20221116031127132

image-20221116031328093

12.3.3 查看表达式的值(alt + F8)

选择行,查看值:

/**
 * @author 狐狸半面添
 * @create 2022-11-16 22:21
 */
public class HelloWorld {
    public static void main(String[] args) {
        HashMap<String,String> hashMap = new HashMap();
        hashMap.put("name","狐狸半面添");
        hashMap.put("sex","男");
        hashMap.put("age","19");
    }

}

image-20221116031755537

image-20221116031811062

image-20221116031854264

还可以在查看框中输入编写代码时的其他方法:

/**
 * @author 狐狸半面添
 * @create 2022-11-16 22:21
 */
public class HelloWorld {
    public static void main(String[] args) {
        String name = "夜莺";
        
        HashMap<String,String> hashMap = new HashMap();
        hashMap.put("name","狐狸半面添");
        hashMap.put("sex","男");
        hashMap.put("age","19");
    }

}

image-20221116032043787

image-20221116032110226

image-20221116032149929

13.配置 Maven

13.1 Maven 的介绍

Make -> Ant -> Maven -> Gradle

Maven 是 Apache 提供的一款自动化构建工具,用于自动化构建和依赖管理。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为 Maven使用了一个标准的目录结构和一个默认的构建生命周期。在如下环节中,Maven 使得开发者工作变得更简单。

构建环节:

image-20221117014519003

  • 清理:表示在编译代码前将之前生成的内容删除
  • 编译:将源代码编译为字节码
  • 测试:运行单元测试用例程序
  • 报告:测试程序的结果
  • 打包:将 java 项目打成 jar 包;将 Web 项目打成 war 包
  • 安装:将 jar 或 war 生成到 Maven 仓库中
  • 部署:将 jar 或 war 从 Maven 仓库中部署到 Web 服务器上运行

13.2 Maven 的配置

具体配置说明查看:maven配置阿里镜像,解决IDEA配置maven恢复默认配置问题_是谢添啊的博客-CSDN博客

image-20221117015809851

  • Maven home directory:可以指定本地 Maven 的安装目录所在。假如没有配置的话,这里可以选择你的 Maven 安装目录。此外,这里不建议使用 IDEA 默认的。
  • User settings file / Local repository:我们还可以指定 Maven 的 settings.xml 位置和本地仓库位置。

image-20221117015954819

  • Import Maven projects automatically:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件, 进行项目变动设置。
  • Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。
  • VM options for importer:可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。

13.3 创建对应的 Module

image-20221117020127579

Spring Initalizr 是 springboot 工程的模板

image-20221117020254519

下面可以暂时先不选,后面开发需要了再进行设置,直接点击 create 即可。

image-20221117020315163

image-20221117020440610

如果如我的上图所示,pom.xml文件和java文件的图标都变成了橙色,只需要选中pom.xml文件,右键,点击最下面" add as maven project"即可。

创建完成以后,可以在 IDEA 右边看到创建的 Module。如果没有,可以刷新一下。

image-20221117021516612

目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。比如这里install,如果其他项目需要将这里的模块作为依赖使用,那就可以双击install,安装到本地仓库的位置。

image-20221117021604696

image-20221117021833557

image-20221117021852516

14.其它设置

14.1 生成 javadoc

image-20221117022012450

image-20221117022600150

  • Locale:输入语言类型:zh_CN
  • Command line arguments:-encoding UTF-8 -charset UTF-8

image-20221117022730979

image-20221117022755276

14.2 缓存和索引的清理

IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比。在 IntelliJ IDEA 创建索引过程中即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。

IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性再强调一次也不为过。但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的, 某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如:断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,很可能 IntelliJ IDEA 会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出现了问题,这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。如下:

image-20221117023027387

image-20221117023127648

清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。

14.3 取消更新

取消勾选:即可取消更新

image-20221117023750564

14.4 插件的使用

IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的。

🏠 官网插件库:https://plugins.jetbrains.com/

image-20221117024534807

Gsonformat是一款Json转字符串的插件。安装完以后会提示重启, 才可以使用插件。

需要特别注意的是:在国内的网络下,经常出现显示不了插件列表,或是显示了插件列表,无法下载完成安装。这时候请自行打开 VPN,一般都可以得到解决。

插件名称插件介绍
Key promoter快捷键提示
CamelCase驼峰式命名和下划线命名交替变化
CheckStyle-IDEA代码样式检查
FindBugs-IDEA代码 Bug 检查
Statistic代码统计
JRebel Plugin热部署
CodeGlance在编辑代码最右侧,显示一块代码小地图
Eclipse Code Formatter使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。
GsonFormat把 JSON 字符串直接实例化成类
Alibaba Java Coding Guidelines阿里巴巴开发规范纠正
MyBatisXxml与接口关联,可以快速开发、生成代码与进行跳转
Logo

助力合肥开发者学习交流的技术社区,不定期举办线上线下活动,欢迎大家的加入

更多推荐