Intellij IDEA
软件设置
-
界面字体:Settings --> Appearance & Behavior --> Appearance --> Use custom font
-
程序字体:Settings --> Editor --> Font --> Size
-
设置窗体及菜单的字体及字体大小:Settings --> Appearance & Behavior --> Appearance
-
控制台字体:Settings --> Editor --> Color Scheme -> Console Font
-
UNIX换行:Settings --> Editor --> Code Style --> Line separator 设置为 Unix and macOS(\n)
-
自动补全:Settings --> Keymap --> Main menu --> Code --> Code Completion(Basic)
-
主题更换:Setting -> Appearance & Behavior -> Apprearance -> Theme
-
背景更换:按两次Shift键 --> set Background images
-
文件编码:Setting -> Editor -> File Encodings
Settings -> Build,Execution,Deployment -> Compiler -> JavaCompiler
Run/Debug Configuration -> tomcat Server > VM options 设置 -Dfile.encoding=UTF-8,重启tomcat -
代码行数:Settings -> Editor -> Appearance -> show line numbers
-
方法分隔:Setting -> Editor -> Appearance -> show method separators
-
折叠空包:项目设置 -> Compact middle packegs
-
自动导包:Settings --> Editor --> General --> Auto Import
Add unambiguous imports on the fly:自动导入不明确的结构;Optimize imports on the fly:自动帮我们优化导入的包
-
集成Tomcat:Run --> Edit Configurations --> Defaults --> Tomcat Server --> Local --> Configure
-
设置自动编译:Settings --> Build,Execution,Deployment --> Compiler
-
代码头注释:Settings --> Editor --> File and Code Templates --> FileHeader--> 内容
-
修改代码中注释的字体颜色:Settings --> Editor --> Color Scheme -> Language Defaults --> Comments
Doc Comment – Text:修改文档注释的字体颜色;Block Comment:修改多行注释的字体颜色;Line Comment:修改当行注释的字体颜色
-
为每个新创建的工程都引用之前配置的Maven
-
设置代码水平或垂直显示
后缀使用
- 判空:.null .notnull .nn
- 判断:.if
- 循环:100.for -> for(int i=0; i<= 100; i++)
- 迭代:arrayList.iter -> for(Objecto : arrayList){}
- 定义变量:.var .val .field
- 输出:.sout .soutv .soutf
- 异常捕获:.try
- 抛出异常:.throw
- 方法返回:.return
- 强制转换:.cast
代码模板
- psfs --> public static final String
- main、psvm --> mian方法
快捷方式
编辑
Alt + Enter
智能提示(报错推荐解决方案、代码补全、表达式生成)
Ctrl + Shift + T
选择 Test 创建测试类
Ctrl + [Shift] + Alt + L
格式化代码
[Shift] + Tab
缩进
Shift + F6
重命名
Alt + Insert
编辑区:生成构造器/Getter/Setter等 项目工程:指定包下创建类,需先选中包
Ctrl + R
替换文本
Ctrl + X
删除当前行
Ctrl + D
重复当前行
Ctrl + [Shift] + /
注释
Ctrl + Shift + U
大小写转换
Ctrl + Alt + O
清除无用包
Shift + Alt + 左键
多行编辑
Shift + Ctrl + Enter
光标跳转到编辑区(创建完类、方法、逻辑段后实现跳转)、行末尾加分号“;”
Shift + Enter
新建一行,并且光标移到新行
选择
Ctrl + Left/Right
上下单词
Ctrl + W
选中单词、代码块
查看
Shift+Shift Ctrl + N
文件查找
Ctrl + F
查找文本
Ctrl + F12
显示当前文件结构
Ctrl + O
重写方法列表
Ctrl + P
方法参数列表
Ctrl + NumPad(+/-)
展开或收缩代码
Ctrl + Shift + I
查看类定义
Ctrl + E
最近操作
Ctrl + Shift + Alt + U
查看类的UML Diagram
Alt + F7
方法在何处被调用
导航
Ctrl + Shift + Up/Down
向上/下移动
Alt + Up/Down
在方法间快速移动定位
Ctrl + Shift + C
复制路径
Ctrl + Shift + Space
智能代码提示
Ctrl + Alt + B
跳转到实现Service的Impl
Alt + F7
查看引用该方法的Class
Ctrl + Shift + H
查找方法在哪里被调用
F2
跳转到报错行
Alt + 1
定位项目窗口
Ctrl + Shift + Enter
定位if判断内编码
Ctrl + Alt + Left
退回到上一个操作的地方
Ctrl + Alt + Right
前进到上一个操作的地方
常用操作
- 代办事项:代码中设置
// TODO
或// FIXME
,IDEA 下方的 TODO 可查看设置的待办事项 - 本地变更历史:查看文件变动情况,项目右键 --> Local History
Git操作
Ctrl + D
改动对比
clone:拷贝远程仓库
commit:本地提交
push:远程提交
pull:更新到本地
Debug
Debug基本操作
- 设置断点
- 进入 Debug 模式(右键 -> Debug)
- Debug操作
Variables里查看,这里显示当前方法里的所有变量
在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看
debug操作 | 快捷键 | 说明 |
---|---|---|
Show Execution Point | Alt + F10 | 光标跳转到当前代码执行的断点处 |
Step Over | F8 | 步过,一行一行走,如果这一行上有方法不会进入方法 |
Step Into | F7 | 步入,如果当前行有方法,可以进入方法内部,用于进入自定义方法内,不会进入官方类库方法 |
Force Step Into | Alt + Shift + F7 | 强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法 |
Step Out | Shift + F8 | 步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值 |
Drop Frame | 回退断点 | |
Run to Cursor | Alt + F9 | 运行到光标处,可将光标定位到需要查看的那一行,代码会运行至光标行,而不需要打断点 |
Evaluate Expression | Alt + F8 | 计算表达式 |
Rerun 'xxxx' | Ctrl + F5 | 重新运行程序,会关闭服务后重新启动程序 |
Resume Program | F9 | 恢复程序。在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点,再按F9,则运行完整个流程 |
Pause Program | 暂停程序 | |
Stop 'xxx' | Ctrl + F2 | 关闭程序 |
View Breakpoints | Ctrl + Shift + F8 | 查看所有断点 |
Mute Breakpoints | 断点失效 |
Debug进阶操作
断点条件设置
设置断点条件,在满足条件时,才停在断点处,否则直接运行
在断点上右键直接设置当前断点的条件。View Breakpoints (Ctrl + Shift + F8),查看所有断点
Maven
自动化构建和依赖管理工具
配置Maven
主题
One Dark theme: One Dark theme主题下载地址
插件使用
Lombok
- @Data:作用于类上,@Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor
- @NoArgsConstructor, @AllArgsConstructor:作用于类上,用于生成构造函数
- @Builder:作用于类上,将类转变为建造者模式
Person build = Person.builder().name("Hefery").wife("LaLaLa").build();
- @Getter/@Setter: 作用类上,生成所有成员变量的getter/setter方法
- @ToString:作用于类,覆盖默认 toString(),通过 of 属性限定显示字段,通过 exclude 属性排除字段
@ToString(of = {"books", "games"}, exclude = {"wife"})
- @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode
- @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器
- @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常
Free MyBatis plugin
Dao 接口跳转至具体 SQL 实现的 XML 文件
REST Client plugin
编写简单的 HTTP 脚本就可以完成测试,且这些脚本还具有存档的功能,非常方便且高效
nacos-client.http:点击左侧的 run 按钮
Json
Json Parser
格式化和验证 JSON

GsonFormat
JSON转领域对象工具
POJO to JSON
领域对象转JSON工具
Statistic
总体项目代码量的统计
还可以选择 Java 文件进行统计
阿里编码规约(代码风格):Tools --> 阿里编码规约
Maven Helper
作用:解决 Maven 冲突
使用:打开 pom.xml 文件,点击下方 Dependency Analyzer,再点击 Conflicts 查看项目中的 Maven 冲突
选择弃用的版本,右键跳转到 pom.xml 文件进行处理
Java Stream Debug
用于调试 Stream 流
所遇问题
Low memory
场景:查看 ConcurrentHashMap 源码,IDEA 右下角提示 Low memory
警告:Low memory:The IDE is running low on memory and this might affect performance. Please consider increasing available heap.
解决:Help --> Change Memory Settings --> 调大Xmx参数 --> apply
调出面板
控制台显示services
View --> Tool Windows --> Services