IntelliJ IDEA2023学习教程

发布时间:2023年12月19日

1. 2023版安装

1.1删除老版本

如果以前装有idea需要先删除,以避免冲突,在idea安装目录/bin/Uninstall.exe双击

在这里插入图片描述

1.2 下载及安装

最新版本
https://www.jetbrains.com/idea/download/?section=windows
历史版本
https://www.jetbrains.com/idea/download/other.html

注意:一定要下载旗舰版
在这里插入图片描述
卸载老版本 IDEA 完成后,双击刚刚下载好的 IDEA 2023.3 版本安装包。弹框会提示选择安装路径,
, 然后点击 Next 按钮:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
IDEA 运行成功后,会弹出如下对号框,强制用户需要先登录 JetBrains 账户才能使用,点击退出

1.3 新建演示工程

未来配置相关的信息,我们必须新建一个工程进入,选择一个最基础的java工程,如图
在这里插入图片描述

2.常见配置

我们创建一个工程后,就可以File->Setting配置Idea的常见属性

2.1窗体外观和UI设置

2.1.1Appearance 外观

这里外观指的是idea窗口和按钮相关,不涉及到到编辑内容区
在这里插入图片描述

2.1.2 New UI 2023新外观

2023新增一个UI模式,默认选中,取消重启后回到经典模式
在这里插入图片描述

2.2内容区的字体和大小

在Appearance里调整的窗体的字体大小等,内容编辑区的字体和大小需要在Font里配置,

File | Settings | Editor | Font

在这里插入图片描述

编辑区的字体动态大小
我们可以设置动态调整编辑区字体大小

File | Settings | Editor | General
在这里插入图片描述
勾选后,我们在内容区,可以按住Ctrl+鼠标滚轮进行动态的放大和缩小

2.3编码设置UTF-8

我们一般采用utf-8编码

File | Settings | Editor | File Encodings

在这里插入图片描述

2.4编辑标识*设置

idea2023内容区编辑后,系统是自动保存的,默认没有任何提示,可能有些用户不习惯,可以设置,正操作未保存的内容区有个圆点,表示正在编辑
在这里插入图片描述

File | Settings | Editor | General | Editor Tabs

在这里插入图片描述

2.5方法参数补全

默认情况下,idea是不启用参数补全的(节约性能),这个在我们调用是不是很智能。
在这里插入图片描述

File | Settings | Editor | General | Code Completion

在这里插入图片描述
效果
在这里插入图片描述
还有水印提示,这样就很智能了
在这里插入图片描述

2.6 本地maven配置

File | Settings | Build, Execution, Deployment | Build Tools | Maven

在这里插入图片描述

2.7 新建项目配置复用

1.idea主题、字体这些,一次配置后,以后新增项目都有效
2.编码、maven、工具这些,新建项目时依然要配置

1.utf-8编码:File | Settings | Editor | File Encodings

2.自动编译:File | Settings | Build, Execution, Deployment | Compiler

3.自动导包:File | Settings | Other Settings | Auto Import

4.git配置:File | Settings | Version Control | Git

5.maven配置:File | Settings | Build, Execution, Deployment | Build Tools | Maven

setting:当前项目配置
new projects Setup|Setting for new Project :新建项目配置,和setting配置一样

在这里插入图片描述
进入后,可把maven和utf-8配置了

2.8文件生成模板

我们创建各种文件,都有对应模板,可以修改,最常见的是类的注释

File | Settings | Editor | File and Code Templates

2.8.1 修改模板

比如我们给类加上注释
在这里插入图片描述
输入:

/**
*@class: ${PACKAGE_NAME}.${NAME}
*@description: ${description}
*@author: jiangzengkui
*@company: 教育家
*@create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
*/

生成类的注释

/**
 * @class: com.jsoft.example.X
 * @description:
 * @author: jiangzengkui
 * @company: 教育家
 * @create: 2023-12-15 12:32
 */

2.8.2 新增模板

我们新增一个mybatis的后缀模板

在这里插入图片描述
我们点击新增文件,模板名称就出现了

在这里插入图片描述

2.9 自动导包

我们在粘贴复制代码时,所使用导的其他地方的类,可以自动导入

File | Settings | Editor | General | Auto Import

在这里插入图片描述
都勾选上

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

2.10 导出导入配置

我们配置好的内容,可以保存下来,到其他地方使用,也可以导入,导出的是一个压缩包settings.zip

在这里插入图片描述

3. 使用技巧

idea是一款高智能化的开发工具,很多技巧能提升开发效率

3.1 查看类图

把光标放置对应类上,右键,选择Diagrams-Show Diagram

在这里插入图片描述
可以查看这个类及互相依赖的类的UML类图
在这里插入图片描述

3.2关闭升级

如果比较习惯这个版本,可以关闭版本升级提示
在这里插入图片描述

3.3 常用快捷键

idea里面非常多的快捷键,详细的可参考相关指南,个人觉得重要的列举入下

3.3.1 显示类属性和方法 ALT+7

场景:一个类的方法太多,想看到所有方法和属性,利于我们更快了解类的方法和属性
在这里插入图片描述

3.3.2 代码注释ctrl + /

选中要注释的代码,执行以下操作
单行注释 ctrl + /
多行注释 ctrl + shift + /

//        System.out.println("ffff");
//        System.out.println("ffff");


        /*System.out.println("aa");
        System.out.println("aa");*/

    }

3.3.3 查看源码CTRL+dbclick

我们要看一个类的源码,有两种情况:

1.代码里已经有类,则按住ctrl+点击这个类
2.我们知道类名或者部分类名,trl + shift + t
这个可以用于查找jdk的源码和自己写的文件

3.3.4 查找CTRL+F

在工具条:Edit->find
1.在打开的文件里查早 CTRL+F
2.已知道类名或者部分类名,在整个工程里查找CTRL+Shift+F

在这里插入图片描述

3.3.5 代码格式化Ctrl + Alt + L

或者菜单:code|Refmact code
打开最近关闭的文件

3.3.6 打开最近关闭的文件Ctrl + E

我们操作了很多文件又关闭了,从包里找太麻烦,就把最近打开的文件调出来
在这里插入图片描述

3.3.7 参数提示 Ctrl + P

忘记方法的参数了,直接Ctrl+p
在这里插入图片描述

3.3.8 展开关闭左边菜单 Alt+1

为突出编辑区,可alt+1折叠左边菜单

3.3.9 万能快捷键 Alt+Enter

Alt+Enter属于万能快捷键,在很多场景都有应用,在不知道怎么办时,不妨试试整个快捷键组合

1.接口实现类

把光标放置在接口名上,Alt+Enter,可快速生成实现类
在这里插入图片描述

2…接口跳转到实现类

把光标放置在接口名上,Alt+Enter
在这里插入图片描述

  1. 捕捉异常

在这里插入图片描述

4.自动导包

在这里插入图片描述

3.4后缀补全 Postfix Completion

我们在一个变量直接输入一下后缀,便可以生成相关代码
配置项:
File | Settings | Editor | General | Postfix Completion
在这里插入图片描述

.var声明一个变量
. sout打印一个变量
.fori正循环一个数组,带索引
.forr倒循环一个数组,,带索引
.forfor(String s:sz),不用索引的循环,可用于数组\list
.iter和.for效果一样
.null生成if(xx==null) {}
.nn生成if(xx!=null) {}
.ifx>10.if 生成if(x>10){}

写一个代码,声明基本变量,对象,数组、list变量,尝试一下即知道效果了
在这里插入图片描述

3.5缩写模板-Live Templates

缩写快捷方式能提升编码效率,可以用已有的,也可自定义
模板可以在两个地方定义
1.Editor – Live Templates 和

3.5.1 已有缩写

缩写生成代码
soutSystem.out.println();
mainpublic static void main(String[] args) {};
iterfor (Integer i : list) {}; 和后缀补全效果一样x.iter,容易混淆
ifnif (list == null) {}; 和后缀补全效果一样x.null,容易混淆
innif (list != null) {}; 和后缀补全效果一样x.nn,容易混淆

配置:File | Settings | Editor | Live Templates
在这里插入图片描述

3.5.2 自定义缩写模板

可以自定义缩写模板,把我们日常用到比较多的粘贴复制等做成缩写

1.可以先新增一个分组,存放自己写的方法
在这里插入图片描述
在这里插入图片描述
2.选中一个分组,点击新增一个模板

在这里插入图片描述
3.填写模板内容

在这里插入图片描述

注意:$变量名$,如果没有表达式,就是光标所在地,点击回车到第二个变量

我们下面写几个自定义模板

(1)map遍历

Abbreviation:maplist
Description:生成map的遍历
Template tex:

 for(String key : $VAR1$.keySet()){
            $VAR2$ value = map.get(key); //map值
            $EDN$
          
        }

(2)定义字符串变量

Abbreviation:vars
Description:声明字符串变量
Template tex:
private String $VAR1$; //$VAR2$
$END$

(3)测试方法

Abbreviation:test
Description:test测试方法
Template tex:
@Test
public void test$VAR1$(){
   $END$
}

(3)优化方法注释

Abbreviation*
Description:优化函数注释
Template tex:注意不是/**,这样读不出表达式数据出来

**
 * @Description: $description$
 * @Create:$Date$ $Time$
 * @Param: $param$
 * @Return: $return$
 */

注意:这里必须用*,Expand with:enter
在这里插入图片描述
其变量表达式如下:
在这里插入图片描述

3.5.2 缩写模板live template和后缀补全的区别

很多效果是一样吗,如null 迭代,但写法不一样,
缩写就是输入说些,后缀补全是在对象后面加.+后缀

3.6 取消单行显示 tabs 的操作

默认打开文件过多,只显示一行,其他省略
可以设置为多行,不隐藏
在这里插入图片描述
效果如图:
在这里插入图片描述

4. idea工程项目

4.1 项目Project 和modul的理解

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

Eclipse 中 workspace 相当于 IDEA 中的 Project
Eclipse 中 Project 相当于 IDEA 中的 Module

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

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

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

DEA有两个概念,一个是Project(工程),一个是Module(模块)。
其中,一个模块相当于MyEclipse中的一个项目,也就是一个包。而一个工程就是由多个包组成的整体。在IDEA中,并没有对Project和Module进行强关联和强约束。主要起到一个项目定义、范围约束、规范类型的效果。

比如,我接了一个供方系统的工程,这个工程有一个前端的项目包,一个后端的项目包,也就是两个模块。那么我就会建一个文件夹叫做supplier(供方系统),然后把前后端的两个项目包都放在这个文件夹中。项目包就叫模块,整个文件夹就表示一个工程。

通过上面的介绍,我们知道:在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module,一个Project可以有多个Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,它们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系的。

因此,我们可以大致总结出:一个Project是由一个或多个Module组成,尽量让各模块处于同一项目之中,此时彼此之间具有互相依赖的关联关系。在这里,之所以说“尽量”,是因为 IntelliJ IDEA 的Project是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范类型的效果,或许,我们也可以简单地理解Project就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在一般情况下,IntelliJ IDEA 是默认单Project单Module的,这时Project和Module合二为一,在没有修改存储路径的时候,显然Project对Module具有强约束作用啦!不过说实话,这里就是将Module的内容放在了Project的目录下,实际上还是Module自己约束自己。

4.2创建空项目

空项目没有任何东西,可以理解成一个文件夹
在这里插入图片描述

4.3创建新工程

4.3.1 maven工程

我们选择创建maven工程
在这里插入图片描述
这里重点是Build system:Itellij就是不带构建工具的普通java工程
生成maven工程后,可以按照maven的框架来构建代码,具体maven知识请参考mave知识讲解

4.3.2 web工程

虽然 目前都采用前后端分离技术,但老的项目依然在用
在这里插入图片描述
选择je22和servlet
在这里插入图片描述
工程结构

在这里插入图片描述
查看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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jsoft</groupId>
    <artifactId>idea_web</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>idea_web</name>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <junit.version>5.9.2</junit.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
        </plugins>
    </build>
</project>

配置tomcat
在这里插入图片描述
在这里插入图片描述
配置tomcat路径和端口
在这里插入图片描述
部署
在这里插入图片描述

4.3.2 springboot工程

在这里插入图片描述

选择springboot版本及依赖功能
在这里插入图片描述
springboot工程结构

在这里插入图片描述
运营启动类,项目启动成功即可
在这里插入图片描述

5.插件

插件通过 File | Settings | Plugins来管理的在这里插入图片描述

5.3 lomok插件

lombok是一个简写vo的get set 构造函数的第三方库,idea2023已经默认下载安装了lombok插件,spring也集成了lombok
在这里插入图片描述
pom

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
 </dependency>

在代码就可使用了,具体用法请参考lombok相关学习资料

文章来源:https://blog.csdn.net/weixin_41158378/article/details/135001394
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。