JetBrains
JetBrains
一、通用
1.1 导航快捷键
- 查看最近文件
⌘
+E
- 跳转到声明/实现
⌘
+B
在某一方法处按此快捷键,会跳转到该方法的声明处,例如,对应的接口。相反,按下 Ctrl + Alt + B(⌘ ⌥ B)不会跳转到接口,而是跳转到接口的实现,很多时候这能节省不少时间。 - 搜索任意内容
⇧
+⇧
- 查找类
⌘
+o
- 查找文件
⌘
+⇧
+o
需要查找文本文件或配置文件时,这个快捷键很方便。 - 跳转至测试
⇧
+⌘
+T
如果你对测试轻度上瘾,那么这个快捷键可以让你在测试和实现间快速跳转。当在测试处按此快捷键,会跳转至相应实现。反之,在实现处按此快捷键,则会跳转至相应测试。如果测试不存在,会根据你选择的测试框架,自动创建相应的测试类。 - 跳转至行
⌘
+L
这个方便的快捷键让你可以迅速跳转至相应代码。 - 跳转至报错/警告 按下
F2
会跳转至下一处错误/警告。这个快捷键有助于你保持状态图标常绿。 - 显示用例
⌘
+⌥
+F7
在弹出对话框中显示当前方法、类、变量的所有用例,让你可以迅速跳转。 - 全局搜索
⌘
+⇧
+F
1.2 编辑快捷键
- 扩展选择区域
⌥
+Up
不需要用鼠标选择文本了,只需跳转至代码中的某个元素,然后按下此快捷键。它会智能地扩展选择区域,从单词到语句,从语句到代码块,从代码块到方法,以此类推。在你想要提取方法时尤为便捷。 - 缩小选择区域
⌥
+Down
- 基本代码补全
^
+Space
按下此快捷键后,会补全代码。在弹出补全菜单中选中补全项后,按 Enter 或 Tab 确认。通常情况下,按 Enter 或 Tab 效果一样,但当光标右侧有字符时,按 Enter 仅仅插入补全项,而按 Tab 会用补全项替换右侧字符。所以,善用 Tab 可以免去手工删除不再需要的字符的麻烦。 - 显示意图
⌥
+Enter
修正引入,运行测试,优化引入,等等。如果你的代码有问题,让这个快捷键来修复。如果你的代码没问题,这个快捷键能让你的代码变得更好。 - 补全语句
⌘
+⇧
+Enter
少个括号?少了行尾的分号?不管光标是不是在行尾,按下此快捷键便可补全必要的字符。 - 复制当前行
⌘
+D
- 删除当前行
⌘
+⌫
- 上/下移动选中行
⌘
+⇧
+上下剪头 - 选择相同单词,按一次选一个
^
+G
- 按一次取消一个选择
^
+⇧
+G
- 全选相同的单词
^
+⌘
+G
- 垂直选择(Multicursor) 按
⇧
+⌥
+鼠标左键上下拖动或按⌥
两次不释放,按上下剪头
1.3 其他快捷键
- 结构视图
⌘
+F12
显示属性、方法列表,方便快捷地大致了解当前类的用途。 - 提取方法
⌘
+⌥
+M
选中一段代码(比如使用之前提到⌥
+Up
快捷键),接着按下⌘
+⌥
+M
,便可将选中的代码提取为新方法或匿名函数表达式。
二、Intellij IDEA
2.1 插件
Alibaba Java Coding Guidelines
阿里巴巴Java编码规范检查插件,检测代码是否存在问题,以及是否符合规范。 使用:在类中,右键,选择编码规约扫描,在下方显示扫描规约和提示。根据提示规范代码,提高代码质量。
jclasslib bytecode viewer
可视化的字节码查看器。英文设置:在 Help -> Edit Custom VM Options ...,加上 -Duser.language=en
Presentation Assistant
显示快捷键操作的按键
Key Promoter X
快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使 用快捷键的习惯,告别死记硬背。
GsonFormatPlus
根据 json 生成对象。 使用:使用alt + s 或 alt + insert调取。
JavaDoc
按 alt+insert 增加注释
2.2 代码模版
1)位置
2)非空判断
- 变量.null:if(变量 == null)
- 变量.nn:if(变量 != null)
- 变量.notnull:if(变量 != null)
- ifn:if(xx == null)
- inn:if(xx != null)
3)遍历数组和集合
- 数组或集合变量.fori:for循环
- 数组或集合变量.for:增强for循环
- 数组或集合变量.forr:反向for循环
- 数组或集合变量.iter:增强for循环遍历数组或集合
4)输出语句
- sout:相当于System.out.println
- soutm:打印当前方法的名称
- soutp:打印当前方法的形参及形参对应的实参值
- soutv:打印方法中声明的最近的变量的值
- 变量.sout:打印当前变量值
- 变量.soutv:打印当前变量名及变量值
5)对象操作
- Xxx.new .var :创建Xxx类的对象,并赋给相应的变量
- Xxx.new .field:会将方法内刚创建的Xxx对象抽取为一个属性
- 对象.cast:将对象进行强转
- 对象.castvar:将对象强转后,并赋给一个变量
6)静态常量声明
- psf:public static final
- psfi:public static final int
- psfs:public static final String
- prsf:private static final
2.3 快捷键
1)提高编写速度
说明 | 快捷键 |
---|---|
智能提示-edit | alt + enter |
提示代码模板-insert live template | ctrl+j |
使用xx块环绕-surround with ... | ctrl+alt+t |
调出生成getter/setter/构造器等结构-generate ... | alt+insert |
自动生成返回值变量-introduce variable ... | ctrl+alt+v |
复制指定行的代码-duplicate line or selection | ctrl+d |
删除指定行的代码-delete line | ctrl+y |
切换到下一行代码空位-start new line | shift + enter |
切换到上一行代码空位-start new line before current | ctrl +alt+ enter |
向上移动代码-move statement up | ctrl+shift+↑ |
向下移动代码-move statement down | ctrl+shift+↓ |
向上移动一行-move line up | alt+shift+↑ |
向下移动一行-move line down | alt+shift+↓ |
方法的形参列表提醒-parameter info | ctrl+p |
批量修改指定的变量名、方法名、类名等-rename | shift+f6 |
抽取代码重构方法-extract method ... | ctrl+alt+m |
重写父类的方法-override methods ... | ctrl+o |
实现接口的方法-implements methods ... | ctrl+i |
选中的结构的大小写的切换-toggle case | ctrl+shift+u |
批量导包-optimize imports | ctrl+alt+o |
2)类结构、查找和查看源码
说明 | 快捷键 |
---|---|
如何查看源码-go to class... | ctrl + 选中指定的结构 或 ctrl+n |
显示当前类结构,支持搜索指定的方法、属性等-file structure | ctrl+f12 |
退回到前一个编辑的页面-back | ctrl+alt+← |
进入到下一个编辑的页面-forward | ctrl+alt+→ |
打开的类文件之间切换-select previous/next tab | alt+←/→ |
光标选中指定的类,查看继承树结构-Type Hierarchy | ctrl+h |
查看方法文档-quick documentation | ctrl+q |
类的UML关系图-show uml popup | ctrl+alt+u |
定位某行-go to line/column | ctrl+g |
回溯变量或方法的来源-go to implementation(s) | ctrl+alt+b |
折叠方法实现-collapse all | ctrl+shift+ - |
展开方法实现-expand all | ctrl+shift+ + |
3)查找、替换与关闭
说明 | 快捷键 |
---|---|
查找指定的结构 | ctlr+f |
快速查找:选中的Word快速定位到下一个-find next | ctrl+l |
查找与替换-replace | ctrl+r |
直接定位到当前行的首位-move caret to line start | home |
直接定位到当前行的末位 -move caret to line end | end |
查询当前元素在当前文件中的引用,然后按 F3 可以选择 | ctrl+f7 |
全项目搜索文本-find in path ... | ctrl+shift+f |
关闭当前窗口-close | ctrl+f4 |
4)调整格式
说明 | 快捷键 |
---|---|
格式化代码-reformat code | ctrl+alt+l |
使用单行注释-comment with line comment | ctrl + / |
使用/取消多行注释-comment with block comment | ctrl + shift + / |
选中数行,整体往后移动-tab | tab |
选中数行,整体往前移动-prev tab | shift + tab |
5)Debug快捷键
说明 | 快捷键 |
---|---|
单步调试(不进入函数内部)- step over | F8 |
单步调试(进入函数内部)- step into | F7 |
强制单步调试(进入函数内部) - force step into | alt+shift+f7 |
选择要进入的函数 - smart step into | shift + F7 |
跳出函数 - step out | shift + F8 |
运行到断点 - run to cursor | alt + F9 |
继续执行,进入下一个断点或执行完程序 - resume program | F9 |
停止 - stop | Ctrl+F2 |
查看断点 - view breakpoints | Ctrl+Shift+F8 |
关闭 - close | Ctrl+F4 |
2.4 详细设置
1) 代码智能提示功能
IntelliJ IDEA 的代码提示和补充功能有一个特性: 区分大小写
。 如果想不区分大小写的话,就把这个对 勾去掉。 建议去掉勾选
。
2) 自动导包配置
3) 编码设置
4) 修改类头的文档注释信息
/**
* ClassName: ${NAME}
* Package: ${PACKAGE_NAME}
* Description:
* @Author tpxcer
* @Create ${DATE} ${TIME}
*/
5) 自动编译
6) 是否在单行显式编辑器选项卡
2.5
- Step Over(F8):进入下一步,如果当前行断点是调用一个方法,则不进入当前方法体内
- Step Into(F7):进入下一步,如果当前行断点是调用一个自定义方法,则进入该方法体内
- Force Step Into(Alt +Shift + F7):进入下一步,如果当前行断点是调用一个核心类库方法,则进入该方法体内
- Step Out(Shift + F8):跳出当前方法体
- Run to Cursor(Alt + F9):直接跳到光标处继续调试
- Resume Program(F9):恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
- Stop(Ctrl + F2):结束调试
- View Breakpoints(Ctrl + Shift + F8):查看所有断点
- Mute Breakpoints:使得当前代码后面所有的断点失效, 一下执行到底