高效率配置
1. 代码提示不区分大小写
Settings -> Editor -> General -> Code Completion
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201224101400448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1b3FpYW9zZW4=,size_16,color_FFFFFF,t_70
2. 自动导包
Settings -> Editor -> General -> Auto Import
3. tab多行显示
这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。
Window -> Editor Tabs -> Tabs Placement,取消勾选 Show Tabs In Single Row选项。
效果如下:
快捷键:
1. 编码相关
快捷键 | 介绍 |
---|---|
Ctrl + Shift + enter | 自动收尾,代码自动补全 |
Alt + enter | IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 |
Alt + ↑/↓ | 方法快速跳转 |
F2 | 跳转到下一个高亮错误 或 警告位置 |
Alt + Insert | 代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等 |
Shift + F6 | 快速修改方法名、变量名、文件名、类名等 |
Ctrl + F6 | 快速修改方法签名 |
Ctrl + Alt+T | 代码块包裹 |
Ctrl + Alt + m | 代码块抽取 |
Ctrl+Alt+ left/right | 返回至上次浏览的位置 或编辑的地方 |
2. 代码阅读相关
快捷键 | 介绍 |
---|---|
Ctrl + P | 方法参数提示显示 |
Ctrl + Shift + i | 就可以在当前类里再弹出一个窗口出来 |
Alt + F7 | 可以列出变量在哪些地方被使用了 |
(Shift) + Ctrl + +/- | 代码块折叠 |
Ctrl + Shift + ←/→ | 移动窗口分割线 |
Ctrl + (Alt) + B | 跳转方法定义/实现 |
Ctrl + H | 类的层级关系 |
Ctrl + F12 | Show Members 类成员快速显示 |
Ctrl + q | 显示注释文档 |
Ctrl + h | 显示类结构图 |
alt + 7 | 查看文件中所有的方法 |
3.搜索相关
快捷键 | 介绍 |
---|---|
ctrl + shift + f | 全局搜索 |
ctrl + shift + r | 全局替换 |
ctrl + n | 搜索java类 |
ctrl + shift + n | 搜索文件 |
ctrl + shift + f | 全局搜索 |
ctrl + f | 查找文本(当前文件) |
ctrl + r | 替换文本(当前文件) |
编码效率相关
1. 文件代码模板
Settings -> Editor -> File and Code Template
在这里可以看到IDEA所有内置的文件代码模板,当你选择某个文件生成时,就会按照这里面的模板生成指定的代码文件。
另外,你可以在这里设置文件头。
视图模式
IDEA提供三种特殊的视图模式,
- Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景
- Distraction Free Mode - 禅模式,专注于代码开发
- Full Screen - 全屏幕
debugger技巧
debugger基本用法&快捷键
- 第一组按钮,共8个按钮,从左到右依次如下:
- Show Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
- Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。
- Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。
- Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
- Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
- Drop Frame (默认无):回退断点,后面章节详细说明。
- Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
- Evaluate Expression (Alt + F8):计算表达式,后面章节详细说明。
- 第二组按钮,共7个按钮,从上到下依次如下:
- Rerun ‘xxxx’:重新运行程序,会关闭服务后重新启动程序。
- Update ‘tech’ application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能。而这个功能对应的操作则是在服务配置里,如图2.3。
- Resume Program (F9):恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
- Pause Program:暂停程序,启用Debug。目前没发现具体用法。
- Stop ‘xxx’ (Ctrl + F2):连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。
- View Breakpoints (Ctrl + Shift + F8):查看所有断点,后面章节会涉及到。
- Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled,如图2.4,则该行断点失效。
java 8 stream
java8的stream操作写起来感觉很爽,但是一旦出现错误,之前的单步debug操作并不管用,现在idea提供了一个debug的技巧,使用的插件是 :Java Stream Debugger
插件地址:https://plugins.jetbrains.com/plugin/9696-java-stream-debugger?platform=hootsuite
但是18的idea版本已经集成了(如果没有调试的按钮的话,查看下插件是否开启),我使用的是18.3默认开启。
现在来些示例代码好了:
public static void main(String[] args) {
List<String> strings = Arrays.asList("C", "D", "A", "B", null)
.stream()
.filter(Objects::nonNull)
.sorted()
.collect(Collectors.toList());
System.out.println(strings);
}
开始调试,打个断点:
然后在debug的窗口找到该按钮
然后可以看到每一步操作的结果
filter过滤null
以上为idea 简单调试stream的技巧。记录下。
条件断点
IDEA 可以设置指定条件的断点,增加我们调试的效率。
操作:在断点上右键,编写条件即可
watch
当我们需要查看某个对象中的属性值的时候,可以使用添加一个watch将属性值直接展示在Variables界面中
计算表达式(取值、赋值)
- 按Alt + F8或按钮,或者,你可以选中某个表达式再Alt + F8,弹出计算表达式的窗口,如下,回车或点击Evaluate计算表达式的值。这个表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值。
- 设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了不是。
智能步入(shift + F7)
场景:一行代码里有好几个方法,只选择某一个方法进入,Smart Step Into (Shift + F7)
栈处,强制返回你想要的方法返回值给调用方。非常灵活!
终断debugger / 强制返回
在断点已经运行过我们想看的程序后,不想让断点继续向下执行了,可以使用force return功能来终止,点击force return后在弹窗中输入return null即可
插件推荐
Alibaba Java Coding Guidelines
阿里Java编程规约插件。
FindBugs
代码缺陷扫描
PMD
代码缺陷扫描
InnerBuilder
builder模式快速生成
lombok plugin
lombok 插件
maven helper
maven 依赖管理助手 ,解析maven pom结构,分析冲突神器;
Rainbow brackets
让代码中的括号更具标识性
Translation
翻译插件,阅读源码必备
GsonFormat
MyBatis Log Plugin
把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。
Free Mybatis
MyBatis 免费的插件
RestfulToolkit
根据url定位到controller方法,快捷键:ctrl+\
CamelCase
下划线转驼峰,快捷键 shift + alt + u
不想安装插件的,也可以使用正则来转换,查找:(\w)_(\w) 替换:\l$1\u$2
CodeGlance
CodeGlance是一款非常好用的代码地图插件,可以在代码编辑区的右侧生成一个竖向可拖动的代码缩略区,可以快速定位代码的同时,并且提供放大镜功能
(本文章参考来源)
- idea使用相关技巧(公众号:编码之外)
https://github.com/judasn/IntelliJ-IDEA-Tutorial
(By the way, 更多IDEA使用请参考此延伸文档以及官方文档)- Intellij IDEA中使用Debug调试详解
https://www.linuxidc.com/Linux/2017-09/146772.htm
https://www.cnblogs.com/zsty/p/9950722.html