Idea使用技巧总结(mac)
跳转
Command+Shift+A查询快捷键
Command+Alt+[ 或Command+Alt+] 项目之间的跳转
Command+1 文件编辑区与Project区窗格进行切换
Command+2 文件编辑区与Favorites收藏夹窗格进行切换
Command+7 文件编辑区与结构窗格进行切换
Command+E 最近编辑文件
精确查找
Command+N 搜索类,有选项可以搜索包含jar中的类
Command+Shift+N 搜索文件,有选项可以设置搜索包含Jar中的所有文件
Command+Shift+Alt+N 搜索标号(方法、成员变量等)有选项可以设置搜索包含Jar中的所有
Command+Shift+F 搜索字符串,与Eclipse中的Ctrl+H一样可以搜索字符串,有一些选项可以使用
列操作
Select All Occurrences(选中多行)(Control+Command+G)
选中某个单词(Shift+Alt+➡️)
整体变为大写(Shift+Command+U)
选中光标以右的所有内容(Shift+Command+➡️)
Live Templates(代码模板)(可自定义)
位置:菜单->File->Setting->Editor->Live Templates
功能:定义模板,使用特定“字符”快速敲击出某段代码。
举例:psvm 敲出 public static void main(String[] args)
postfix预加载(可自定义)
for 100.fori for(int i = 0; i < 100; i++) {}
sout new Date().sout system.out.println(new Date());
字符串变量名后面直接写“.format”,可以进行格式化
函数体内变量名后面输入“.return”,可以直接返回
变量名后面直接输入“.field”直接创建成员变量
变量名后面直接输入 ".nn" if(变量名!=null){}
神器Alt+Enter
1、直接写个方法名称,光标在方法名上时,按Alt+Enter可以创建方法
2、定义接口后,按Alt+Enter可以直接定义实现类
3、英文单词错误提示(单词下有波浪线),按Alt+Enter有修改建议
4、导包,写完类定义后,按Alt+Enter按提示导入使用类所在的包
重构
1.重构变量 Refactor--->Rename Shift+F6
将光标定位于要修改的单词上,按shift+f6,将变量重构成一个逻辑上清晰的变量
2.重构方法 Refactor--->Change Signature Ctrl+F6
在定义方法上按下 Ctrl+F6 ,添加一个参数
public void sayHello(String firstName){
抽取
Command+Alt+V 抽取成变量
Command+Alt+C 抽取成类变量(static)
Command+Alt+F 抽取成成员变量
Command+Alt+P 抽取成函数的参数
Command+Alt+M 抽取成方法
调试
设置取消断点(Command+F8)
F8单步运行
F9恢复运行,如果下方有断点会运行到断点处
Shift+Command+F8 查看所有断点,如果已经设置为了断点,则可以通过Shift+Command+F8 设置成条件断点
左下方Mute breakpoints,禁止所有断点,继续F9可以直接结束程序
Alt+F8表达式求值
Alt+F9运行到光标所在行
运行过程中可以在下方的参数框中通过F2设置参数的值
Control+Shift+F9快速运行当前上下文(比如光标在main函数可运行main函数)
Alt+Shift+F9从历史运行列表中选取进行运行
文件操作
Control+Alt+N 新建文件(New in this Directory)
F5 复制当前文件
F6 移动当前文件
Shift+Command+C 复制文件完整路径
Shift+Command+V 调出剪切板,可用于批量复制
结构图
Command+F12 查看类结构
Command+Shift+Alt+U 或在文件编辑界面右键->maven-> show dependencies 查看Maven 依赖图
Command+Shift+Alt+U 或在文件编辑界面右键->show diagram 查看类依赖关系
Control+H 查看方法调用关系
其他操作
Shift+Enter立刻开始下一行
Shift+Alt+上/下 移动一行代码
Command+Alt+L 整理代码
Control+return 生成get/set方法等
Gsonformat快捷键
Alt+S打开界面或者Control+Enter选择列表中的Gsonformat(1.5.0版本bug,必须有包名)