# 一.配置概览

# 1.主要配置

  • 设置主题
  • 一键导出 idea 配置
  • 一键导入 idea 配置
  • 设置 maven
  • 连接 git
  • live template 模版

# 2.其他设置

  • 字体大小
  • 自动导入包
  • 方法分割线
  • 忽略大小写
  • 安装插件
  • 修改快捷键

# 3.历史版本

历史版本 (opens new window)

最好下载 2021.1.3 版本,SQL 可以格式化,美化。

# 4.新电脑安装 idea

  1. 卸载旧的版本
  2. 安装新的版本
  3. 试用 30 天
  4. 导入 30 天插件
  5. 设置重启重置
  6. 安装或者导入其他配置信息

# 二.插件使用

# 1.插件市场

jetbrains插件
https://plugins.jetbrains.com/plugin/14280-restfultool
1
2

插件市场 (opens new window)

# 2.必装插件

  • UI整体风格

    • XCode-Dark Theme
    • Atom Material Icons
  • CodeGlance Pro 代码缩略图

  • MarsCode AI助手写代码

  • Nginx Configuration 配置文件支持

  • Nyan progress bar 彩虹加载

  • Translation 翻译插件

  • Rainbow Brackets Lite 彩色括号

  • show comment 展示备注信息

  • String Manipulation 驼峰式命名和下划线命名交替变化

  • GenerateAllSetter 自动 set 值

  • CamelCase 字符串格式切换

  • MapStruct Support 支持 MapStruct

  • Maven Helper maven 管理工具

  • Alibaba Java Coding Guidelines 代码规范检测

  • MybatisLogFormat sql 格式化

  • MybatisX mybatis 框架辅助(免费)

  • Lombok 功能辅助插件

  • Markdown Navigator 书写 Markdown 文章

  • GitToolBox 显示提交和未提交信息

# 3.代码提示

  • CodeGeeX 免费 Ai 代码提示
  • TONGYI Lingma 免费
  • Copilot 代码提示
  • Bito 不需要翻墙的 chatgpt
  • Alibaba Cloud AI Coding Assistant (Cosy) 代码提示
  • NEXchatgpt ai 工具
  • AiXcoder 人工智能代码编写
  • Fitten Code 代码提示

# 4.高频插件

  • MapStruct Support pojo 转换
  • GsonFormat 把 JSON 字符串直接实例化成类
  • Presentation Assistant 快捷键提示
  • JPA Support 逆向工程
  • Grep Console 日志级别颜色设置
  • Atom Material File Icons 文件图标
  • vo2dto 类转换
  • RESTfulToolkit 接口快捷访问
  • LeetCode with labuladong 刷题插件
  • leetcode 力扣插件
  • Presentation Assistant 快捷键展示
  • HighlightBracketPair 括号开始结尾高亮显示
  • JRebel 热部署
  • MyBatis Log Plugin
  • MyBatisCodeHelperPro
  • Free Mybatis plugin
  • Lombok 代码自动注入
  • SequenceDiagram 生成简单序列图。
  • SonarLint 代码检查
  • Sonar 代码检查
  • CheckStyle 代码检查
  • Vo2dto 对象转换
  • .ignore 各类版本控制忽略文件生成工具
  • Save Actions 保存动作
  • IdeaJad 反编译插件
  • Jclasslib Bytecode Viewer 查看字节码
  • VisualVM Launcher jvm 工具
  • JUnitGenerator 自动生成测试类
  • Squaretest 添加测试类
  • CheckStyle-IDEA 代码规范检查
  • Properties to YAML Converter 文本转换
  • Key promoter 快捷键提示
  • Statistic 代码统计

# 5.低频插件

  • CSDN 博客插件
  • Gitee 开源中国的码云插件
  • Background Image Plus 背景图片
  • UML 生成类图
  • any-rule 正则表达式
  • Indent Rainbow 彩色缩进
  • Database Tools and SQL 数据库管理工具
  • lines sorter 插件 代码行数统计
  • MetricsReloaded 代码复杂度检查
  • JRebel Plugin 热部署
  • Eclipse Code Formatter 使用 Eclipse 的代码格式化风格
  • mongo4idea mongo 客户端
  • iedis redis 客户端
  • shortcut translate 快捷键翻译
  • stackoverflow 堆栈分析
  • Quick Notes 记事便利贴

# 6.插件目录

idea 安装插件导致启动不了,先进入插件目录,删除新安装的插件

/Users/qinyingjie/Library/Application Support/JetBrains/IntelliJIdea2021.1/plugins
1

# 7.leetcode 插件

$!velocityTool.camelCaseName(${question.titleSlug})


package leetcode.editor.cn;
${question.content}
public class $!velocityTool.camelCaseName(${question.titleSlug}){
    public static void main(String[] args) {
        Solution solution = new $!velocityTool.camelCaseName(${question.titleSlug})().new Solution();

    }
${question.code}
}
1
2
3
4
5
6
7
8
9
10
11
12

# 8.MetricsReloaded 使用

圈复杂度越高,代码就越难复杂难维护

  • ev(G) 基本复杂度是用来衡量程序非结构化程度的,非结构成分降低了程序的质量,增加了代码的维护难度,使程序难于理解。因此,基本复杂度高意味着非结构化程度高,难以模块化和维护。实际上,消除了一个错误有时会引起其他的错误。

  • iv(G) 模块设计复杂度是用来衡量模块判定结构,即模块和其他模块的调用关系。软件模块设计复杂度高意味模块耦合度高,这将导致模块难于隔离、维护和复用。模块设计复杂度是从模块流程图中移去那些不包含调用子模块的判定和循环结构后得出的圈复杂度,因此模块设计复杂度不能大于圈复杂度,通常是远小于圈复杂度。

  • v(G) 是用来衡量一个模块判定结构的复杂程度,数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,经验表明,程序的可能错误和高的圈复杂度有着很大关系。

在这里插入图片描述

# 9.正则表达式

  • anyrule
  • option + a

image-20230316154902825

# 10.JSON 转 java 类

  1. 下载插件,安装插件 RoboPOJOGenerator;
  2. 生成类,在创建类的包上右键新建,选择 Generate POJO from JSON;
  3. 修改名字,更具需求,选择语言、框架、主类名称;
  4. 重复的手动修改
  5. 查看生成的类,如有重复生成,手动修改(StartLoc 与 EndLoc 创建一个就行);

# 11.vo2dto 使用

EmployeeDTO dto = new EmployeeDTO();
EmployeeVo vo=new EmployeeVo();
1
2

1.复制 EmployeeDTO dto

2.光标放到 EmployeeVo

image-20231020114435424

image-20220715180346956

# 12.彩虹括号

插件名称:Rainbow Brackets

image-20230407143915682

# 13.CamelCase

快捷键:Alt + Shift + U

image-20240917142458635

image-20240917142507040

# 三.具体配置

# 1.一键导入导出配置

  • 先在旧电脑导出配置
  • 再导入到新电脑

image-20230316145703402

image-20230730205129666

image-20230730205146791

# 2.新项目默认配置

  • 配置新项目的默认 maven 仓库
  • 修改包自动导入

image-20230410150519199

# 3.配置主题

  • XCode-Dark Theme 加 Atom Material Icons
  • Solarized Dark
  • One Dark theme
  • Material Theme UI

image-20230314133545110

# 4.配置忽略大小写

image-20230407135950501

# 5.配置自动导包

Settings→Editor→General→Auto Import 选中 Optimize imports on the fly 和 Add unambiguous imports on the fly

image-20220805110356167

# 6.配置方法分割线

image-20220805110601043

# 7.设置字体

image-20220806224411575

image-20220806224449226

# 8.配置 live Templates

login
log.info("$START$={}",$END$);

non
if (Objects.nonNull($START$)) {
    $END$
}

isn
if (Objects.isNull($START$)) {
    $END$
}

co
/**
 *$END$
 *@author : qinyingjie
 *@date : $DATE$
 */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

使用安卓的log打印,修改成符合java的格式:

  • logm 打印方法和参数信息
  • logr 打印返回值信息
groovyScript("def params = _2.collect {it + ' = [\" + ' + it + ' + \"]'}.join(', '); return '\"' + _1 + '() called' + (params.empty  ? '' : ' with: ' + params) + '\"'", methodName(), methodParameters())
1
groovyScript("def params = _2.collect {it + '= {}'}.join(', '); return '\"' + _1 + '() called' + (params.empty  ? '' : ' with: ' + params) + '\"'+','", methodName(), methodParameters())
1

image-20230730204427714

test:

@Test
@DisplayName("$TEST_NAME$")
void $METHOD_NAME$() {
    Assertions.fail("no passed.");
    $END$
}
1
2
3
4
5
6

image-20230730204927512

image-20230730204941014

# 9.sql 格式化

关键字大写

image-20220804133612209

逗号分隔位置

image-20240126150505199

# 10.关闭更新提示

image-20231218140143448

# 11.设置 tables 个数

设置tabs个数

image-20230407140303833

设置多行显示

image-20230407140402526

# 12.显示文件修改时间

image-20230407142510156

image-20230407142541807

# 13.设置代码高亮

image-20220805115425156

# 14.指定 sql 语法

右键可以看到 change Dialect,然后可以选择相应的 SQL 语法

image-20230720114044763

image-20230720114056428

# 15.滚轮调整大小

Command + 滑动滚轮 调整窗口显示大小

image-20230316160522439

# 16.设置多实例

  • 旧版本是 allow parallel run
  • 新版本点击 Modify options,然后 allow multiple instances

image-20230418182832101

# 17.设置更新

设置更新不提示,插件更新需要提示

image-20230404094737812

# 18.自动编译

image-20230724201835927

# 19.配置文件的编码方式

image-20230729173653827

# 20.Database 展示表关系

显示表关系:

image-20230730210134494

增删改查:

增删改查的 sql 会提供预览,方便记录下来,供生产环境使用

image-20230730210238819

# 21.TODO

自定义 todo,和别人区别开

image-20230907171038912

# 22.注释配置

打开 settings。 依次点击 Editor ——> Code Style ——> Java ——> Code Generation。 找到 Comment Code。

  • Line comment at first column(行注释在第 1 列)(取消勾选)
  • Add a space at comment start(在注释开始添加一个空格)(建议勾选)
  • Block comment at first column(注释快在第 1 列)(取消勾选)

image-20240109114412053

# 四.快捷键

# 1.查找

  • double shift 全局搜索

  • F19+3 添加书签

  • F19+A 打开全部书签

  • command+E 预览最近打开

  • command+1 打开或隐藏项目列表

  • command+option+N 模糊查找接口

  • command+n 查找类

  • command+逗号 打开设置弹窗

  • command+7 查看类的方法

  • command+2 查看书签,断点,最爱

  • command+f12 查找类的方法

  • command+g 查找单词使用位置,不区分大小写

  • command+G 下一个出现的单词

  • command+shift+a 打开 action 查找

  • command+option+o 查找接口,或者方法

  • control+H 查看类的结构,继承关系或者通过 navigate–>type hierarchy

  • command+D 比对文件

  • command+L 跳转到指定行

  • 跳转

    • option+上下键 翻页
    • command+上下 到文件的顶部底部
    • command+左右 到当前行的首尾
    • command+左右+shift 选中
    • option+左右 单词之间跳转

# 2.debug

debug 模式下

  • F8 执行下一步
  • F9 到下一个断点
  • F19+9 跳转到当前行
  • command+shift+f8 找到 bookmarks 全部断点
  • 使用 F19+9 也可以跳转到下一个断点

# 3.git

  • command+T 更新代码
  • command+K 提交代码
  • command+shift+K 推送代码
  • command+P 合并代码 merge
  • option+command+Z 撤销代码
  • option+command+K 提交并推送 需要先按 command+k 选中提交文件

# 4.编辑

  • command+option+/ 段注释
  • command+/ 行注释
  • command+c 复制当前行
  • shift+command+上 选中到头部
  • shift+command+下 选中到尾部
  • option+command+上 代码上移
  • option+command+下 代码下移
  • command+d 复制当前行
  • control+command+下 复制当前行
  • command+option+左 上一次编辑的地方
  • command+option+右 下一次编辑的地方
  • command+option+T 生成 try-catch
  • option+向上 选中单词
  • command+shift+u 是大小写转换
  • option+m 是去掉空行
  • option+删除键 删除首到当前位置
  • command+删除键 删除当前行
  • command+r 替换
  • command+shift+r 全局替换
  • control+enter 生成构造方法或 get 方法或 set 方法
  • command+option+l 代码格式化
  • shift+command+n 快速生成临时文件
  • option+shift+s 括号外代码高亮–外面变黑
  • command+shift+s 括号代码高亮
  • command+shift+delete 返回上次编辑处
  • command+shift+e 最近编辑列表
  • command+shift+加减 折叠方法
  • command+option+加减 折叠当前
  • shift+上 按行向上选定
  • shift+下 按行向下选定
  • option+上 块选定
  • control+g 选中多个,同时进行编辑
  • command+option+R CamelCase 快捷键
  • control+5 复制文件
  • control+shift+6 修改文件名

# 5.启动

  • control+R 正常运行
  • control+shift+D debug 启动项目
  • command+R 重启运行
  • command+F9 编译项目

# 6.定位

  • command+1 定位到项目目录
  • command+home 页首
  • command+end 页尾
  • command+` 切换项目窗口
  • command+option+减号 折叠当前光标所在代码
  • command+加号 展开目录
  • command+减号 折叠目录
  • command+B 定义处和使用处
  • command+option+B 实现处
  • F19+Y 唤起 idea 终端

# 7.配置快捷键

  • Move Statement Down ==Command+shift+上下键==
  • Move Caret to Text Start with Selection ==Command+shift+home/end==
  • Pull ==Command+P==
  • Extend Selection 扩展选中 ==option+上箭头==
  • Extend Line Selection 选中行 ==option+L==
  • Duplicate Line or Selection ==Command+control+下箭头==
  • File Structure ==F19+F==
  • Open Recent ==F19+E==
  • Toggle Bookmark 添加书签 ==F19+3==
  • Show Bookmarks ==F19+A==
  • Replace ==command+shift+R==
  • Next Method ==shift+control+下箭头==
  • Previous Method ==shift+control+上箭头==
  • Move Line Down ==Command+option+下箭头==
  • Move Line Up ==Command+option+上箭头==
  • Rename ==control+shift+6==
  • Force Run to Cursor ==F19+R==
  • Next Difference ==F19+7==

# 五.实用功能

# 1.查找全局未使用的类

1.选择 Analyze:

选择 Analyze——》Run Inspection by Name... 或者使用快捷键 Ctrl+Alt+Shift+I

使用 Analyze 可以帮助分析未使用的方法,变量和类,帮助优化代码写法,删除不需要的代码

image-20230105140723490

2.定位查找:

在弹框中输入:unused declaration

搜索未使用的声明,点击之后,等待系统分析结果.

image-20230105140741848

3.选定范围:

范围选择整个项目,维度为类,字段,方法,参数,变量等.

image-20230105140752268

4.查询结果:

等待下方读条结束会自动弹出 Inspection Results 弹窗

查看分析的结果,为未使用的类,方法,变量,可以进行删除,或者其他操作

image-20230105140803400

5.结果处理:

对没有用到的方法和变量提供了四种处理方法

四种处理方式

  • Safe delete:删除;

  • Comment out:注释掉;

  • Add as Entry Point:添加为入口点;

  • Suppress:添加注解 @SuppressWarnings("unused") 或 @SuppressWarnings("ALL");

# 2.Diagrams

image-20230111093537629

image-20230111092227645

选中接口可以展示实现类

image-20230111092421944

# 3.热部署

热部署用 build,或者 rebuild

<!--热部署-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
1
2
3
4
5
6

# 4.列编辑

  • option+鼠标方向拖动
  • 如果不是对齐的,shift+option+鼠标左键

image-20221214095402774

# 5.Postfix Completion

  • var 创建局部变量
  • new 创建对象
  • null 判断为 null
  • nn 判断不等于 null
  • if 判断是否为 true
  • return 返回值
  • itar for 循环
  • iter 增强 for 循环

自定义postfix:

List<$EXPR$> $END$ = new ArrayList();
1

image-20230724201133427

# 6.Find Usages

  • 可以一键查看使用地方
  • 可以展开或者折叠
  • 可以预览查询到的结果
  • 可以点击上一个,下一个

image-20230331184510171

# 7.查询字段使用位置

获取所有位置,包括子目录下面的使用的地方

image-20220728155449275

# 8.自定义保存日志

image-20230407145833823

# 9.文件对比

只展示不限同的点,相同的点自动影藏

image-20230410111318641

# 10.匿名转具名

匿名内部类 -> 带名字内部类

image-20230721160855782

# 11.搜索 git 记录

image-20230803225028982

# 12.方法被用到的地方

  • option+7
  • option+F7

image-20230803225403502

# 13.生成测试方法

  • control+shift+T
  • 或者直接用 apifox 插件更方便

image-20230803225559524

# 14.查看快捷键文档

Keymap Reference

image-20230808001809558

# 15.json2java

安装插件:

image-20230809161756545

json字符串转java实体类:

  • 使用的地方有,知道 json 字符串,希望转为 java 类

image-20230809161720719

# 16.重构

image-20230923144629229

# 17.git-时间查询

image-20231018170449753

# 18.打开多个文件

image-20240317180159963

# 六.debug

# 1.指定条件

  • 点击断点
  • 在输入框的 condition 输入条件
  • i=99 或者 i==99 都可以

image-20230407142822488

image-20230414103104694

# 2.stream 进行 debug

image-20230407142947867

image-20230716160822754

# 3.跳转指定行

点击行号,跳转到指定行

# 4.debug 回退

  • c12 表示 c 方法的 第 12 行
  • 点击右键,点击 drop frame,可以回到 c 方法的调用处

image-20230414102844721

# 5.多线程调试

suspend:暂停,挂起

  • all:所有线程
  • thread:当前线程

image-20230414103153707

手动切换:

image-20230803230502599

线程状态:

image-20230803230511597

# 6.源码断点

  • 点击 more,出现设置页面
  • Evaluate and log:打印日志

image-20230414103335307

image-20230414103324113

# 7.检测某个值

add to watches 将某个值加入到一直检测

image-20230414103551811

# 8.下一行

image-20230724011526589

# 9.下一个断点

image-20230724011543152

# 10.挂起断点

control+鼠标左键

image-20230724011725849

# 11.详细断点

  • shift+鼠标左键
  • 黄色断点不会断,红色断点才会断

image-20230724011810653

# 12.方法断点

在接口的方法上打断点,会自动停到实现类上面去

image-20230724012031871

# 13.打开断点面板

image-20230724012223640

# 14.异常断点

image-20230724012416076

# 15.字段断点

有写有操作就会在操作的地方进行断点调试

image-20230724012528210

# 16.条件断点

image-20230724012740869

# 17.堆栈信息

image-20230724012901785

# 18.表达式计算

image-20230724012939103

# 19.后面的代码不执行

image-20230724013255898

# 20.快速到断点停顿的地方

image-20230724013401829

# 21.方法跳入跳出

image-20230724013526075

# 22.跳到光标

image-20230724013615005

# 七.GIT

# 1.git 面板

image-20231018171215912

# 2.筛选时间

image-20231018171245640

image-20231018171301533

# 3.搜索提交记录

image-20231018171342974

# 4.是否展示相同的提交

image-20231018171418725

# 八.常见问题

# 1.编译版本为 5

image-20230310230622774

解决办法:在父 pom 中加入下列代码

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
1
2
3
4
5
6
7
8
9
10
11
12

# 2.底部不显示 commit

image-20230329201204469

# 3.底部不显示分支

image-20230407140618521

# 4.不显示 project 视图

IDEA 不显示项目 project 视图

问题:从 git 上下载的项目 maven+spring 项目 IDEA 不显示项目 project 视图

解决方案:关掉项目,删除 “.idea” 目录,重新 file-open 项目

# 5.取消换行

使用空格代替\n,替换掉换行

image-20230407142315057

# 6.添加启动参数

--spring.profiles.active=dev --server.port=8090
1

image-20230407143209051

# 7.设置忽略文件

image-20230426211503771

# 8.查找子文件内容

image-20231021173613964

# 9.利用 idea 发请求

POST http://localhost:9341/billInfo/insertOrUpdate
Content-Type: application/json

{"ownerNumber":"C02184540","ownerName":"黄美翰的导入门店","ownerMarketAreaId":11995,"ownerType":5,"supplierNumber":"C80095701","supplierName":"明亮邮差一","supplierType":4,"billGoodsInfoList":[{"id":1,"name":"由柑柠檬555ml(1×24瓶)","number":"CAT001","outNumber":null,"innerNumber":"CAT001","stand":"555ml(1×24瓶)","typeNumber":"037","singleUnit":"瓶","batchUnit":"箱","batchCount":1,"converseRule":24,"teuCount":null,"revCoefficien":1,"costCoefficien":null,"remark":null,"status":1,"createTime":1573457010000,"updateBy":null,"updateTime":1586504080000,"bigUnitCount":2,"smallUnitCount":0,"checked":true,"giftList":[{"name":"由柑柠檬555ml(1×24瓶)","number":"CAT001","type":1,"bigUnitCount":4,"smallUnitCount":0}],"price":0,"totalMoney":"0.00"},{"id":2,"name":"金罐250ml(1×24罐)","number":"CAT002","outNumber":null,"innerNumber":"CAT002","stand":"250ml(1×24罐)","typeNumber":"002","singleUnit":"罐","batchUnit":"箱","batchCount":1,"converseRule":24,"teuCount":null,"revCoefficien":0.72,"costCoefficien":null,"remark":null,"status":1,"createTime":1573457010000,"updateBy":null,"updateTime":1586504080000,"bigUnitCount":3,"smallUnitCount":0,"checked":true,"giftList":[{"name":"金罐250ml(1×24罐)","number":"CAT002","type":1,"bigUnitCount":3,"smallUnitCount":3}],"price":0,"totalMoney":"0.00"}],"sumMoney":"0.00","bigUnitCount":5,"smallUnitCount":0,"isCheck":0,"billType":2,"createBy":7422,"createByName":"黄美翰","createByMarketAreaId":11996,"dealAddress":"明亮科技园们门口","message":"1","giftBigUnitCount":7,"giftSmallUnitCount":3}

<> 2020-10-26T074045.200.json
1
2
3
4
5
6

添加环境:

image-20230808002548820

{
  "dev": {
    "host": "localhost",
    "port": "8888"
  }
}
1
2
3
4
5
6

快速创建post请求:

image-20230808002616699

指定环境运行:

image-20230808002727610

# 10.不显示自动提示

  • 关闭了 Show suggestions as you type
  • 开启了 Power Save Mode
  • 重启一下电脑或者 idea

# 11.默认安装位置

/Users/qinyingjie/Library/Application Support/JetBrains/ IntelliJIdea2021.1/Users/qinyingjie/Library/Application Support/JetBrains/ IntelliJIdea2021.1

# 12.gitlab验证

取消勾选gitlab插件即可

image-20240521014450895

# 九.2023.3 版本

# 1.Run to Cursor

IntelliJ IDEA 2023.3 引入了一个新的 Run to Cursor(运行到光标)嵌入选项。

该选项允许用户在调试时执行到特定代码行。程序挂起后,用户可以将鼠标悬停在要执行到的代码行上,然后点击 Run to Cursor(运行到光标)弹出窗口。

image-20240124162434011

# 2.浮动工具栏

IntelliJ IDEA 2023.3 引入了一个浮动工具栏,该工具栏会在所选代码段旁边显示,提供对 Extract(提取)、Surround(包围)、Reformat(重新格式化)和 Comment(注释)等编辑操作以及上下文操作的轻松访问。

用户可以使用竖三点菜单自定义浮动工具栏。要将其隐藏,用户可以使用相同的菜单或转到 Settings/Preferences | Advanced Settings | Editor(设置/偏好设置 | 高级设置 | 编辑器),选中 Hide floating toolbar for code editing(隐藏代码编辑的浮动工具栏)选项。

  • 代码优化
  • AI 助手
  • 代码提取
  • 注释
  • 代码格式化

image-20240124162904272

上次更新: 10/29/2024, 10:27:50 AM