一、Intellij IDEA介绍

本文档基于的IDEA版本:IntelliJ IDEA 2021.3.3 x64

1. 开发工具IDEA简介

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

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

  • 强大的整合能力。比如:Git、Maven、Spring等
  • 提示功能的快速、便捷
  • 提示功能的范围广
  • 好用的快捷键和代码模板 private static final - psf
  • 精准搜索

2. IDEA下载安装

:::info IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows
历史版本下载:https://www.jetbrains.com/idea/download/other.html
官网使用文档:https://www.jetbrains.com/help/idea/getting-started.html :::

如果是卸载旧版本的IDEA去安装新的IDEA,建议卸载后重启电脑之后再安装 建议了解一下,IT界三大定律,安迪比尔定律(Andy gives,Bill takes away~) 安迪:英特尔前CEO安迪·格鲁夫,比尔:微软前任CEO 比尔盖茨。扩展:摩尔定理

修改IDEA配置文件,优化IDEA程序:

  • -Xms512m:设置初始内存数,提高Java程序的启动速度
  • -Xmx1500m:降低垃圾回收频率进而提高程序的性能
  • -XX:ReservedCodeCacheSize=512m:保留的代码缓存大小,减少代码回收频率,提高性能

二、IDEA常规配置

1. Appearance & Behavior

1.1 设置主题

Appearance & Behavior > Appearance
image.png

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

Appearance & Behavior > Appearance
image.png

1.3 退出确认及自动打开项目

Appearance & Behavior > System Settings
取消勾选,退出时无需确认 以及 IDEA启动时不自动打开项目。
image.png

2. Editor - General

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

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

2.2 设置鼠标悬浮提示

本版本未找到

2.3 设置自动导包功能

image.png

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

勾选后,IDE里显示代码行号,以及方法与方法之间的分隔符。
image.png

2.5 忽略大小写提示

image.png
21版本的话,这里直接取消勾选 Match case,旧版本是把 Case sensitive completion设为None

2.6 设置取消单行显示 tabs 的操作

取消勾选后,文件Tab标签会层叠的都展开出来
image.png

2.7 取消代码自动折叠

取消代码的自动折叠
image.png

3. Editor - Font

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

image.png

4. Editor – Color Scheme

4.1 独立修改当前主题及控制台字体样式

image.png

4.2 设置代码中注释字体颜色

image.png

5. Editor – Code Style

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

image.png

6. Editor – File and Code Templates

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

image.png

7. Editor – File Encodings

7.1 设置项目文件编码

image.png

8. Build,Execution,Deployment

8.1 设置自动编译(重要)

ADBC
image.png

三、快捷键及模板的设置

1. 快捷键使用

1.1 Windows

如果格式化代码快捷键(Ctrl + Shift + F)失效,可能是安装了搜狗输入法,可以进入搜狗输入法设置界面进行取消快捷键设置。 比较有用的几个快捷键:

  • 提示补全:Alt + /
  • 提示方法参数类型:Ctrl + Alt + /
  • 查看继承关系:F4
  • 查看类的结构:Ctrl + O
  • 重构(修改变量名及方法名):Alt + Shift + R
  • 大小写转换:Ctrl + Shitf + Y
  • 生成getter/setter方法:Alt + Shift + S
  • 查看文档说明:F2
  • 收起所有的方法:Alt + Shift + C
  • 展开所有的方法:Alt + Shift + X
  • 打开代码所在硬盘文件夹:Ctrl + Shift + X
  • 生成代码块(try-catch等):Alt + Shift + Z
  • 查找/替换(当前):Ctrl + F
  • 全局查找:Ctrl + H
  • 查找类的继承结构图(Show UML Diagram):Ctrl + Shift + U
  • 查看方法的多重重写结构:Ctrl + Alt + H
  • 添加到收藏(Favorite):Ctrl + Alt + F
  • 抽取方法:Alt + Shift + M
  • 关闭当前打开的代码栏:Ctrl + W
  • 关闭打开的所有代码栏:Ctrl + Shift + W
  • 快速定位、搜索类中的错误信息:Ctrl + Shift + Q
  • 查看方法在哪里被调用:Ctrl + Shift + H

image.png
image.png
image.png
image.png
附件:keymap-shkstart

链接:https://pan.baidu.com/s/1T5kjZ9MoAlpBPmpywRQe2A 提取码:1234

1.2 MacOS

2. 关于模板(Templates)

它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。

2.1 已有的模板方法

image.png

2.2 常用的模板

  1. public class Teacher extends Person {
  2. // 模板一:psvm(main方法)
  3. public static void main(String[] args) {
  4. // 模板二:sout(标准输出语句)
  5. System.out.println("Hello");
  6. // 变形: soutp, soutm, sout, xxx.sout
  7. // soutp:打印方法的形参
  8. System.out.println("args = " + Arrays.deepToString(args));
  9. // soutm:打印方法的名称
  10. System.out.println("Teacher.main");
  11. // soutv:打印就近变量值
  12. int number = 10;
  13. System.out.println("number = " + number);
  14. }
  15. }
  1. public class Templates {
  2. public static void main(String[] args) {
  3. // 模板三: fori
  4. String arr[] = new String[]{"AA", "BB", "CC"};
  5. for (int i = 0; i < arr.length; i++) {
  6. System.out.println(arr[i]);
  7. }
  8. // 变形: iter(增强for循环)
  9. for (String s : arr) {
  10. System.out.println(arr);
  11. }
  12. // 变形: itar
  13. for (int i = 0; i < arr.length; i++) {
  14. String s = arr[i];
  15. System.out.println(s);
  16. }
  17. }
  18. }
  1. public class Templates2 {
  2. public static void main(String[] args) {
  3. // 模板四:ifn
  4. Person person = new Person();
  5. if (person == null) {
  6. }
  7. // 变形:inn
  8. if (person != null) {
  9. }
  10. Integer num = 10;
  11. // xxx.null(如果xxx是NULL), xxx.nn(如果xxx不是NULL)
  12. if (num != null) {
  13. }
  14. }
  15. }
  1. public class Templates3 {
  2. // 模板五: prsf(生成private static final 代码)
  3. private static final String NAME = "China";
  4. // 变形: psf(生成public static final 代码)
  5. public static final Integer AGE = 12;
  6. // psfs(public static final String), psfi(public static final int)
  7. public static final int s = 12;
  8. public static final String STRING = "W";
  9. public static void main(String[] args) {
  10. System.out.println(NAME);
  11. }
  12. }

2.3 修改和自定义模板

1、修改Templates
image.png

  1. public static final int $VAR1$ = $VAR2$;
  2. $END$

修改后的效果:光标会自动移到定义的地方
image.png
2、自定义Templates
image.png

四、为IDEA设置全局设置

在IDEA设置时,只有部分设置属于全局设置的范围,可以按如下操作进行全局设置,下面就是为新工程设置的全局配置,一次设置,全部新工程生效。

image.png
image.png

常用设置

1.1 文件编码

image.png

1.2 Java编译版本选择

默认1.8

1.3 lombok插件注解开启注解激活

image.png

1.4 格式化代码

IDEA格式化代码时,不想格式化文档注释怎么办?
很简单,只需要把 Enable JavaDoc formatting 去掉选中状态即可。附图所示:
IntelliJ IDEA - 图29

这里注意和之前设置的不格式化指定表达式结尾的文件的区别 todo代补充

五、本地开发中的IDEA常用配置

3.1 配置本地XSD约束文件

场景:在编写XML类似的文件时,为了方便编写,一般会引入以 .xsd 结尾的约束文件,从而能够有语法提示能够更好更准确的编写;由于网络原因,不能及时加载到在线的约束文件,常用的解决方式是在编辑器中进行与本地文件的配置绑定;

image.png
image.png

3.2 注解激活生效

image.png

3.3 Java编译版本

image.png

3.4 File Types过滤

IDEA左侧Project目录,默认会出现一堆乱七八糟的文件,类似.iml等,这时可以进行过滤不显示。可以看起来更清爽一些~
image.png

六、IDEA集成Maven/Git/Gradle

1. IDEA集成Maven

1.1 集成Maven相关设置

:::info Maven相关的安装及配置:https://www.yuque.com/aust/soft/maven :::

IDEA 中有一个自带的 Maven,需要做的是,让IDEA使用自己安装的 Maven;
image.png

设置项: -DarchetypeCatalog=internal

Maven 在创建项目时,会从网络中下载一个 archetype-catalog.xml作为项目的模板文件,文件有 8M 左右,该设置项表示,不用下载文件,可以加快创建 Maven 项目的速度;

image.png
image.png

1.2 创建普通的Java项目

创建空工程,之后在 New Module 时,进行创建 Maven 项目,这里使用模板进行创建 Java 项目。
image.png

1.3 创建Web项目

image.png
image.png

一般需要在 pom.xml 文件中引入依赖:

  1. <dependencies>
  2. <!--Servlet依赖-->
  3. <dependency>
  4. <groupId>javax.servlet</groupId>
  5. <artifactId>javax.servlet-api</artifactId>
  6. <version>3.1.0</version>
  7. <scope>provided</scope>
  8. </dependency>
  9. <!--JSP依赖-->
  10. <dependency>
  11. <groupId>javax.servlet.jsp</groupId>
  12. <artifactId>jsp-api</artifactId>
  13. <version>2.1</version>
  14. <scope>provided</scope>
  15. </dependency>
  16. </dependencies>

1.4 IDEA中导入Maven工程

image.png

2. IDEA集成Git

:::info Git相关的安装及配置:https://www.yuque.com/aust/soft/git :::

3. IDEA集成Gradle

:::info Gradle相关的安装及配置:https://www.yuque.com/aust/soft/gradle :::

七、快乐开发~

1. 在IDEA控制台中搜索输出内容

第一种:手动打开搜索框

image.png
之后便可以搜索:
image.png

第二种:配置快捷键(建议)

image.png

这里我配置了 Ctrl Shift L,其它的太容易重了 (●’◡’●)
image.png

2. 一次启动多个SpringBoot应用

在开发微服务项目时,对于需要频繁重启多个服务的场景,可以设置一次启动多个服务
1、Edit Configyrations,进入配置界面
image.png

2、添加,选择 “Compound”
image.png

3、修改Name,添加对应的启动类 即可
image.png

4、这里可以看到,可以进行批量启动/停止多个服务
image.png

3. 设置应用最大占用内存

image.png

4. 设置Maven不自动提示升级最新Jar包

取消勾选自动升级的提示即可,不勾选掉贼烦~
image.png


———TODO 待整理归类———-

编辑器字体设置

image.png

六、IDEA的使用

1. 创建Maven的Web项目

第一步:正常使用IDEA创建常规的Maven项目,这里不使用官方模板

这里创建好的项目结构应该如下图所示

image.png

第二步:右键 项目,选择 Add Framework Support. . . 勾选Web Application
image.png
添加之后的项目结构应该是下图所示:(这里不是我们想要的,需要修改)
image.png
需要将webapp(注意必须是webapp,不然很容易失效变成普通文件夹)移动至与 源码包 java 以及 resource 同级目录才可以,如下图所示:

需要说明的是,有时 Servlet重定向到JSP页面还会失效,离谱,可能JSP不受重视了。。。

image.png

第三步:配置Tomcat,添加项目至容器
强烈建议所有东西写完之后,再加入Tomcat(还不知为啥)

1.1 Web项目中常见易错点

Spring整合Web开发时

  • 异常:Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
  • 原因:没有将Maven库映射到WEB-INF/lib下
  • 解决办法

image.png

2. 打开项目

打开项目时,默认会侦测到你安装的JDK的最新版,因此导入后的第一件事就是配置JDK

如果不配置,Maven编译就会报错:Maven Compile Plugin 报错

七、我的IDEA样式配置

1. 深色模式

1.1 配色

关键字:CC7832
image.png

注解:BBB529
image.png
注释:629755
image.png

2. 浅色模式

2.1 配色

浅色模式下的注释字体:0A641D
image.png

九、常用插件

1. Key Promoter X

2. Maven Helper

3. Rainbow Brackets

4. Translation

十、xxx

1. region 包裹注释代码

选中代码,使用快捷键或者菜单栏的 Code -> Surround With -> region...
image.png