推荐使用 IDEA 2022. X 之后的版本。支持 JDK 17。

Springboot 3.0 是需要用 java 17 和 spring 6.0 为基础建设。如果从企业选型最新 springboot 3.0 作为架构来说,它搭配 jdk 17 肯定是标配了。

1 IDEA 重置时间

IDE Eval Reset

2 工程与模块管理

Project (工程) - module (模块) - package (包) - class (类)

  • Module:模块,一个程序的整体代码。
  • Project:当前 IDEA 工作空间,可包含多个 module。模块之间可以相互依赖。

创建 Module:右键 - New - ModuleIDEA MOC.png
移除 Module:右键 - Remove ModuleIDEA MOC-1.png
导入 Module:File - Project Structure - Modules - Import Module IDEA MOC-2.png

3 JDK 相关设置

3.1 项目 JDK 设置

File-->Project Structure...-->Platform Settings -->SDKs

IDEA MOC-3.png

3.2 out 目录和编译版本

File-->Project Structure...-->Project Settings -->Project

IDEA MOC-4.png

4 编码设置

如果打开文件文件后,文件乱码,有几种设置方法:IDEA MOC-5.png
IDEA MOC-6.pngIDEA MOC-7.png

5 使用代码模板

5.1 代码模板

代码模板共包含两个部分,一个是 Postfix Completion,一个是 Live Templates。

平时写代码的时候,其实也有使用一部分,例如 fori 代表 for(int i = 0; i < expr.length; i++),main 代表 public static void main(String args[]) { }。这些就是代码模板。

IDEA MOC-8.png
IDEA MOC-9.png

5.2 常用代码模板

后缀模板是某个对象后面添加 .xxx 来生成模板用的。Live Templates 就不需要加点。常用代码模板如下:

1、非空判断

  • 变量.null:if (变量 == null)
  • 变量.nn:if (变量 != null)
  • 变量.notnull:if (变量 != null)
  • ifn:if (xx == null)
  • inn:if(xx != null)

2、遍历数组和集合

  • 数组或集合变量.fori:for 循环
  • 数组或集合变量.for:增强 for 循环
  • 数组或集合变量.forr:反向 for 循环
  • 数组或集合变量.iter:增强 for 循环遍历数组或集合

3、输出语句

  • sout:相当于 System. out. println
  • soutm:打印当前方法的名称
  • soutp:打印当前方法的形参及形参对应的实参值
  • soutv:打印方法中声明的最近的变量的值
  • 变量.sout:打印当前变量值
  • 变量.soutv:打印当前变量名及变量值

4、对象操作

创建对象:

  • Xxx.new.var :创建 Xxx 类的对象,并赋给相应的变量
  • Xxx.new.field:会将方法内刚创建的 Xxx 对象抽取为一个属性

强转:

  • 对象.cast:将对象进行强转
  • 对象.castvar:将对象强转后,并赋给一个变量

5、静态常量声明

  • psf:public static final
  • psfi:public static final int
  • psfs:public static final String
  • prsf:private static fina

5.3 自定义代码模板

后缀补全代码模板

IDEA MOC-10.png IDEA MOC-11.png

自定义 Live Templates

先自定义分组比较好
IDEA MOC-12.png

然后在自定义的分组里添加 Live Templates
IDEA MOC-13.png

IDEA MOC-14.png

5.4 其他补充

  1. 推荐对自己常用的代码段设置代码模板,例如单元测试模板、创建多线程等等。
@Test
public void test$var1$(){
	$var2$
}
 
new Thread(){
	public void run(){
		$var$
	}
};
 
// 冒泡排序
for(int $INDEX$ = 1; $INDEX$ < $ARRAY$.length; $INDEX$++) {
	for(int $INDEX2$ = 0; $INDEX2$ < $ARRAY$.length-$INDEX$; $INDEX2$++) {
		if($ARRAY$[$INDEX2$] > $ARRAY$[$INDEX2$+1]){
			$ELEMENT_TYPE$ temp = $ARRAY$[$INDEX2$];
			$ARRAY$[$INDEX2$] = $ARRAY$[$INDEX2$+1];
			$ARRAY$[$INDEX2$+1] = temp;
		}
	}
}

6 第一次使用时的 Setting 设置

idea 顶部工具栏、底部工具栏、两边工具栏的显示与隐藏_琪丶琪的博客-CSDN 博客

  • 默认启动项目配置
  • 插件/软件自动更新
  • 整体主体
  • 编辑器主体
  • 行号与方法分隔符
  • 代码智能提示
  • 自动导入包
  • 类头的文档注释信息
  • 自动编译
  • 双击 shift 搜索
  • 其他设置

参考文档 :{IDEA} 使用设置.pdf

多行显示已经打开的文件:

IDEA MOC-15.png

7 常用快捷键

说明快捷键
复制代码-copyctrl + c
粘贴-pastectrl + v
剪切-cutctrl + x
撤销-undoctrl + z
反撤销-redoctrl + shift + z
保存-save allctrl + s
全选-select allctrl + a
说明快捷键
智能提示-editalt + enter
提示代码模板-insert live templatectrl+j
使用 xx 块环绕-surround with …ctrl+alt+t
调出生成 getter/setter/构造器等结构-generate …alt+insert
自动生成返回值变量-introduce variable …ctrl+alt+v
复制指定行的代码-duplicate line or selectionctrl+d
删除指定行的代码-delete linectrl+y
切换到下一行代码空位-start new lineshift + enter
切换到上一行代码空位-start new line before currentctrl +alt+ enter
向上移动代码-move statement upctrl+shift+↑
向下移动代码-move statement downctrl+shift+↓
向上移动一行-move line upalt+shift+↑
向下移动一行-move line downalt+shift+↓
方法的形参列表提醒-parameter infoctrl+p

智能提示:

  • 光标在最后面,Alt+Enter 自动生成局部变量。
    IDEA MOC-16.png

IDEA MOC-17.png

代码块环绕:
IDEA MOC-18.png

返回值变量 Ctrl+Alt+v
不需要像”智能提示”里需要在尾部通过提示来添加局部变量。在当前行任意地方就可以通过该快捷键添加。

在上/下位置创建新的一行:
在当前行的任意位置,通过 shift + enterctrl +alt+ enter 就可以在当前行的上下位置创建新的一行。
IDEA MOC-19.png

移动代码:
将当前行代码与上/下行代码进行交换。

形参提示:
IDEA MOC-20.png

说明快捷键
批量修改指定的变量名、方法名、类名等-renameshift+f6
抽取代码重构方法-extract method …ctrl+alt+m
重写父类的方法-override methods …ctrl+o
实现接口的方法-implements methods …ctrl+i
选中的结构的大小写的切换-toggle casectrl+shift+u
批量导包-optimize importsctrl+alt+o

批量修改变量名/函数名等等
Shift + F6
IDEA MOC-21.png

抽取代码重构方法:

  • 将代码内容提取出来。提取后直接编辑可以直接修改方法名。
  • Before:
    IDEA MOC-22.png
  • After:
    IDEA MOC-23.png

重写父类的方法:

IDEA MOC-24.png

选中部分大小写变化:

IDEA MOC-25.png IDEA MOC-26.png