本文内容基于 IDEA 2024.1

0. 前言

0.1 IDEA 简介

百度百科:

IDEA 全称 IntelliJ IDEA,是 Java 编程语言开发的集成环境。IntelliJ IDEA 在业界被公认为最好的 Java 开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE 支持、各类版本工具(Git、SVN 等)、JUnit、CVS 整合、代码分析、 创新的 GUI 设计等方面的功能可以说是超常的。IDEA 是 JetBrains 公司的产品,这家公司总部位于 捷克共和国 的首都 布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTML,CSS,PHP,MySQL,Python 等。免费版只支持 Java,Kotlin 等少数语言。

0.2 编写目的

在学习 Java 时,除了安装 Java 环境外,还需要安装一个 IDE(集成开发环境),比如: Eclipse、MyEclipse、IDEA 等等。如今大家使用最多的 Java IDE 是 IDEA。我最开始接触 IDE 的时候是在大一下学期(好像是吧,有点忘记了😅),但是那时候用的是Eclipse,至于原因嘛…当然是老师叫我们安装的咯(我也没办法,那时候啥也不懂,只知道依样画葫芦,老师说啥就是啥,主打一个没主见听话),后来到期末得做项目,被逼无奈去网上找视频学习补习(我保证绝对不是因为平时上课没听,只是单纯觉得自己学得还不够😳),发现网上的大佬们都是使用的IDEA作为开发工具,看着大佬们使用IDEA编写代码真的好丝滑啊IDEA的界面真的比Eclipse好看得太多太多啦!!!,于是我按捺不住想要尝试一下IDEA的心,就去下载了个IDEA,一直用到现在…虽然我已经使用了很久的 IDEA 了,但是并没有熟练运用其特性,仅仅使用了它的自动补全和一些通用快捷键。

本文意在记录一些IDEA常用的 “基本设置” 和 “基本操作” ,方便本人遗忘时快速查询。

PS:本文随着本人在学到新的操作后持续更新…

0.3 IDEA 主要优势

为什么选择IDEA呢?因为IDEA在以下几个方面具有显著的优势:

  • 智能化和高效性:IDEA能够实时分析代码上下文,提供精准的代码补全、自动导入包,甚至预测可能的代码片段,使得编写代码变得更加高效和流畅。
  • 版本控制系统支持:IDEA支持多种版本控制系统,如Git、SVN等,提供了可视化的版本控制界面,使得开发者能够轻松管理代码变更、分支和合并操作。
  • 强大的重构工具:IDEA拥有强大的重构工具,支持基于语法的选择,可以方便地选取方法、循环等,并在重构时提供便利。
  • 调试功能:IDEA提供了强大的调试器,支持断点、变量查看、调用栈追踪等功能,帮助开发者快速定位和解决问题。
  • 性能分析:通过内置的性能分析工具,开发者可以检测代码的瓶颈,优化程序性能,提高软件运行效率。
  • 丰富的插件扩展:IDEA支持丰富的插件扩展,开发者可以根据自己的需求定制开发环境,扩展功能范围。
  • 简洁易用的GUI界面:IDEA具有简洁易用的图形用户界面,使得开发者能够更直观地使用各项功能。

什么?看完 IDEA 主要优势有点心动了但是还没有安装 IDEA ?那不妨试试这个😏:IDEA免费激活教程和方法

IDEA上号

1. IDEA设置

1.1 设置整体主题

1.1.1 设置主题

IDEA设置-设置主题

个人比较推荐 Dark 主题,护眼又炫酷,暗黑炫酷风!帅!!

1.1.2 设置菜单和窗口字体和大小

IDEA设置-设置菜单和窗口字体和大小

1.1.3 设置背景图

IDEA设置-设置背景图

1.2 设置编辑器主题样式

1.2.1 编辑器主题

IDEA设置-编辑器主题

1.2.2 编辑器字体大小

IDEA设置-编辑器字体大小

编辑器更详细的字体与颜色:

IDEA设置-编辑器更详细的字体与颜色

PS:如果选择某个font字体,中文乱码,可以在fallback font(备选字体)中选择一个支持中文的字体。

1.2.3 注释的字体

IDEA设置-注释的字体

Block comment:修改多行注释的字体颜色

Doc Comment —> Text:修改文档注释的字体颜色

Line comment:修改单行注释的字体颜色

我这里将 Block commentLine comment 都设置为了 37A5B5 ,个人觉得配合 Dark 主题使用还是很帅的,当然你也可以选择自己喜欢到颜色🤭

1.3 默认启动项目配置

IDEA设置-默认启动项目配置

启动IDEA时,默认自动打开上次开发的项目?还是自己选择?

如果去掉Reopen last project on startup前面的 ,每次启动IDEA就会出现如下界面:

IDEA启动界面

1.4 取消自动更新

IDEA设置-取消自动更新

默认都打 了,建议检查IDE更新的 去掉,检查插件更新的 选上。

1.5 忽略大小写

IDEA设置-忽略大小写

IntelliJ IDEA 的代码提示和补充功能有一个特性: 区分大小写 。 如果想不区分大小写的话,就把这个 去掉。 建议去掉勾选

1.6 自动导包配置

IDEA设置-自动导包配置

默认需要自己手动导包,Alt+Enter 快捷键

自动导包设置 :

  • 动态导入明确的包:Add unambiguous imports on the fly,该设置具有全局性
  • 优化动态导入的包:Optimize imports on the fly,该设置只对当前项目有效

懒人一定要做的设置😄,不过有时候需要检查自动导的包是否正确,导到错误的包就麻烦咯🤣

1.7 设置项目文件编码

IDEA设置-设置项目文件编码

说明: Transparent native-to-ascii conversion 主要用于转换 ascii,显式原生内容。一般都要勾选。

1.8 设置控制台的字符编码

IDEA设置-设置控制台的字符编码

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

IDEA设置-修改类头的文档注释信息

比如:

1
2
3
4
5
6
7
8
/**
* Package: ${PACKAGE_NAME}
* ClassName: ${NAME}
* Description:
*
* @Author 木又枯了
* @Create ${DATE} ${TIME}
**/

常用的预设的变量,这里直接贴出官网给的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
${PACKAGE_NAME} — Name of the package in which the new file is created
${USER} — Current user system login name
${DATE} — Current system date
${TIME} — Current system time
${YEAR} — Current year
${MONTH} — Current month
${MONTH_NAME_SHORT} — First 3 letters of the current month name. Example: Jan, Feb, etc.
${MONTH_NAME_FULL} — Full name of the current month. Example: January, February, etc.
${DAY} — Current day of the month
${DAY_NAME_SHORT} — First 3 letters of the current day name. Example: Mon, Tue, etc.
${DAY_NAME_FULL} — Full name of the current day. Example: Monday, Tuesday, etc.
${HOUR} — Current hour
${MINUTE} — Current minute
${PROJECT_NAME} — Name of the current project

1.10 设置自动编译

IDEA设置-设置自动编译

2. IDEA常用快捷键

一些通用的快捷键就懒得写了…🤣直接上帅的

2.1 提高编写速度(上)

快捷键 说明
Ctrl + D 复制一行
Ctrl + Y 删除一行
Ctrl + J 提示代码模板
Ctrl + Alt + T 使用XXX代码块环绕
Alt + Enter 智能提示
Alt + Insert 调出生成getter/setter/构造器等结构
Ctrl + Alt + V 自动生成变量
Ctrl + Alt + Enter 在上一行插入
Shift + Enter 在下一行插入
Ctrl + Shift + 方向键 移动代码
Ctrl + P 提示方法参数

Alt 与鼠标结合可以实现批量修改,具体操作是: 按住 Alt 键,再按住鼠标左键,然后移动鼠标,可以让光标延长多行,以实现批量修改。

快捷方式-Alt与鼠标结合实现批量修改

2.2 提高编写速度(下)

快捷键 说明
Shift + F6 批量修改指定的变量名、方法名、类名等
Ctrl + Alt + M 抽取方法
Ctrl + O 重写父类的方法
Ctrl + I 实现接口的方法
Ctrl + Shift + U 选中的结构的大小写的切换
Ctrl + Alt + O 批量导包

2.3 类结构、查找和查看源码

快捷键 说明
Shift + Shift 全能! 查看文件、类、方法、内容等等
Ctrl + 选中指定的结构 或 Ctrl + N 查看源码
Ctrl + F12 显示当前类结构,支持搜索指定的方法、属性等
Ctrl + Alt + ← 退回到前一个编辑的页面
Ctrl + Alt + → 进入到下一个编辑的页面
Alt + ←/→ 打开的类文件之间切换
Ctrl + H 光标选中指定的类,查看继承树结构
Ctrl + Q 查看方法文档
Ctrl + Alt + U 类的UML关系图
Ctrl + G 定位某行
Ctrl + Alt + B 回溯变量或方法的来源
Ctrl + Shift + - 折叠方法实现
Ctrl + Shift + + 展开方法实现

2.4 查找、替换与关闭

快捷键 说明
Ctrl + E 查看最近访问的文件
Ctrl + F 整个页面中查找
Ctrl + L 快速查找:选中的Word快速定位到下一个
Ctrl + R 查找与替换
Home 直接定位到当前行的首位
End 直接定位到当前行的末位
Ctrl + F7 查询当前元素在当前文件中的引用,然后按 F3 可以选择
Ctrl + Shift + F 全项目搜索文本
Ctrl + F4 关闭当前窗口

2.5 调整格式

快捷键 说明
Ctrl + / 单行注释
Ctrl + Shift + / 多行注释
Ctrl + Alt + L 格式化代码
Tab 选中数行,整体往后移动
Shift + Tab 选中数行,整体往前移动

2.6 Debug快捷键

快捷键 说明
F7 单步调试(进入函数内部)
F8 单步调试(不进入函数内部)
Alt + Shift + F7 强制单步调试(进入函数内部)
Shift + F7 选择要进入的函数
Shift + F8 跳出函数
Alt + F9 运行到断点
F9 继续执行,进入下一个断点或执行完程序
Ctrl + F2 停止
Ctrl + Shift + F8 查看断点
Ctrl + F4 关闭

3. IDEA常用自动补全

3.1 后缀代码补全

使用后缀代码自动补全能够减少在编程时光标向后跳跃。

后缀提示已经成为基本提示的一部分,可以使用快捷键 Ctrl + J 直接呼出后缀提示。

呼出后缀提示

常用后缀表达式

var : 声明变量,效果与快捷键 Alt + Enter 类似

常用后缀表达式-var

null :判断某个表达式是否为空

常用后缀表达式-null

notnull / nn : 判断某个表达式是否非空

常用后缀表达式-nn / notnull

for :增强型遍历

常用后缀表达式-for

fori :带索引的遍历(正序)

常用后缀表达式-fori

forr :带索引的遍历(倒序)

常用后缀表达式-forr

not :对布尔类型取反

常用后缀表达式-not

if :条件判断

常用后缀表达式-if

cast : 强制类型转换

常用后缀表达式-cast

return : 返回某个值

常用后缀表达式-return

try :自动添加try catch

常用后缀表达式-try

twr : 在 try-with-resources 块中插入语句

常用后缀表达式-twr

while :布尔表达式为 true 时进行循环

常用后缀表达式-while

3.2 代码模板

psvm :快速生成main方法,或者直接输入 main 也是一样的效果哦😁

代码模板-psvm

sout :快速生成控制台输出打印语句

代码模板-sout

soup :快速打印所有参数

代码模板-soutp

dep :maven的pom配置自动补全dependency

代码模板-dep

pl :maven的pom配置自动补全plugin

代码模板-pl

repo :maven的pom配置自动补全repository

代码模板-repo

4. 源码阅读利器

平时在阅读源码的时候都会使用到 IDEA 的 Diagram,它可以使得结果一目了然,简直好用到炸裂👍。但是每次阅读的时候都因为对它不够熟悉而不得不去百度,极其浪费时间阅读五分钟,百度半小时😵。为了省去每次使用都去百度的时间,所以在此记下一些常用操作。

4.1 查看图形形式的继承链

光标定位在你想查看的类上选中在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 Show Diagram...Show Diagram Popup...,前者新建在标签页内,后者以浮窗的形式展示:

选择Diagrams

提示选择查看到类型,选择 Java Classes

选择Java-Classes

然后你就会得到如下图所示的继承关系图形,以刚刚选中的 DefaultSingletonBeanRegistry 为例:

DefaultSingletonBeanRegistry继承关系图形

关系查看

  • 蓝色实线箭头是指继承关系
  • 绿色虚线箭头是指接口实现关系

去掉不关心的类

  • 点击选择你想要删除的类,然后直接使用键盘上的 delete

4.2 面板操作

4.2.1 调整面板布局Layout

在类图上点击右键,选择 Layout —> Orthogonal ,在子菜单中可以调整排列效果,如下图:

调整面板布局Layout

4.2.2 查看子类父类

选中其中的某一个类或者接口,点击右键出现上下文选择菜单:

Show Implementations 显示子类,快捷键 Ctrl+Alt+BShow Parents 显示父类,快捷键 Ctrl+Alt+P

查看子类父类

当然也可以选中某个类,然后 Ctrl + H,调出类层级关系。如图,选择这个按钮,显示所有子接口和实现类。

调出类层级关系

4.2.3 展示类的详细信息

想看继承下来的方法?简单。

在页面点击右键,选择 Content —> show categories,根据需要可以展开类中的属性、方法、构造方法等等。也可以直接使用上面的工具栏:

展示类的详细信息
  • Fields - 字段,Constructors - 构造函数,Methods - 方法,Properties - 属性,Inner Classes - 内部类

例如点击 Methods ,然后你就会得到:

显示Methods

方法里还可以进行筛选,比如说想看 protected 权限及以上范围的?简单,右键选择 Content —> Change Visibility Level,根据需要调整即可,或者可以点击左上角的图标。

筛选查看权限

PS:什么,你嫌图形太小你看不清我也看不清😅?IDEA 也可以满足你,试试看按住键盘的 Alt 键,会有惊喜哦🎉🎉!!!

4.2.4 加入其他类到关系中

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。

在页面点击右键,选择 Add Class to Diagram 或者直接 敲空格,然后输入你想加入的类就可以了:

加入其他类到关系中

4.2.5 进入源码查看

如果你想查看某个类中,比如某个方法的具体源码,当然不可能再给你展现在图形上了,已经看不清了😂。但是可以利用图形,或者配合 IDEA 的 structure 方便快捷地进入某个类的源码进行查看。

选中某个类后,下方会出现这个类的名称,点击名称后会出现这个类所有的 字段方法,直接点击想看的内容即可跳转到源码:

进入源码查看

在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用 IDEA 提供的 structure 功能:

选择左侧栏的 structure(或者使用快捷键 Alt + 7)之后,如下图左侧会展示该类中的所有方法,直接点击想看的内容即可跳转到源码。

structure功能

99. 一些奇奇怪怪的问题

在添加web支持的时候webapp目录没有小蓝点怎么办?

webapp目录没有小蓝点

1、File —> Project Structure —> Modules —> 选中没有web支持的模块

添加web支持

2、配置web.xml文件和Web资源文件夹

web.xml 文件的位置:\模块名\ src\main\webapp\ WEB-INF\web.xml

Web Resource Directory 的位置:\模块名\src\main\webapp

配置web.xml文件和Web资源文件夹

3、然后就可以看到小蓝点了

添加web支持成功

Shift+ F6 重命名失效

今天在使用IDEA的时候对类进行重命名,发现使用 Shift+ F6 对其进行重命名的时候不起作用,我就纳闷了咋回事啊?这才几天没用它啊它就闹脾气了?我先是怀疑它出Bug了,于是重启了几次IDEA发现还是不能使用,最后怀疑是和电脑热键冲突了,然后跑去网上一搜原来是因为Windows升级辣鸡Win11系统我都懒得吐槽了,微软输入法带来的问题。

需要设置【使用以前版本的微软拼音输入法】解决兼容性。

依次点击:设置 -> 时间和语言 -> 语言和区域 -> 语言选项下中文右侧三个 · -> 语言选项 -> 键盘选项下微软拼音右侧三个 · -> 键盘选项 -> 常规 -> 打开 使用以前版本的微软拼音输入法

解决!!