Intellij IDEA使用技巧&快捷键大全
**这篇博客是慕课网上视频的学习笔记,大部分是转载别人的。原视频地址:https://www.imooc.com/learn/924
第一章 IDEA入门
1.1 Intellij IDEA下载
官网下载地址
https://www.jetbrains.com/idea/download/#section=windows
Ultimate版本,所有的功能都完美的支持,收费
Community版本,开源免费,有些功能不支持
1.2 IDEA界面介绍
IDEA的左侧侧边栏有1:Project、7:Structure和2:Favorities
开发时,习惯全屏代码区,当需要左侧侧边栏时,无需使用鼠标,只需按住Alt+数字即可出现相应的侧边菜单。然后按下ESC就会把鼠标重新聚焦到代码区。
Alt+1:Project
Alt+2:Favorities
Alt+4:Run
Alt+5:Debug
Alt+6:TODO
Alt+7:Structure
Favorites功能:可以显示工程中所有的断点位置;收藏功能。
第二章 Find Action
IDEA中点击Help->Find Action可以帮助我们定位到各个指令(的快捷键)。Find Action本身的快捷键是Ctrl+Shift+A
第三章 无处不在的跳转
3.1 项目之间的跳转
当使用IDEA同时打开多个项目协同开发时,可以使用快捷键进行跳转:
Ctrl+Alt+右方括号跳转到Next Project Window下一个项目窗口
使用Ctrl+Alt+左方括号跳转到Previous Project Window前一个项目窗口
使用Ctrl+Shift+A输入window project等关键字成功得到相应提示
3.2 文件之间的跳转
在项目中文件很多的情况下,有时我们会想找到最近浏览过的文件
Ctrl+E可以找到Recent Files最近浏览过的文件
找到最近修改过
的文件
Ctrl+Shift+E可以找到Recently Changed Files最近修改过的文件
3.3 浏览、修改位置的跳转
使用Ctrl+Shift+Backspace可以跳转到Last Edit Location最后修改过的位置
Next Edit Loaction没有默认快捷键
使用Ctrl+Alt+向左箭头可以跳转到Back光标之前停留过的地方
使用Ctrl+Alt+向右箭头可以跳转到Forward光标之后停留过的地方
3.4 利用书签进行跳转
当使用IDEA查看源码时,可以对关注的代码位置添加书签
Ctrl+F11可以Toggle Bookmark with Mnemonic使用数字书签标记位置
Ctrl+1..9可以跳转到对应的书签位置
可以某个类单独添加书签
Alt+Shift+F可以给某个类add to Favorites添加到Favorites中
Favorites中可以创建列表,例如把值得学习的代码放到一个列表中
Alt+Shift+F可以给某个类的某个方法添加到Favorites中
3.5 跳转插件emacsIDEAs
在编辑一个文件时,有时需要将光标跳转到以某个字母开头的位置如以s开头,文件中有多个以s开头的位置,这时,可以借助emacsIDEAs插件做到快捷跳转
安装插件,Ctrl+Shift+A,输入plugins,到Browse Repositories中找到emacsIDEAs插件,Install,然后重启IDEA
设置其快捷键,Ctrl+Shift+A,输入keymaps,找到Manage keymaps
选择Plug-ins,在最下面找到emacsIDEAs,找到AceJumpWord
AceJumpWord 默认的快捷键为Meta+F,一般计算机键盘上并没有这个键,需要另外添加快捷键
右键,Add keyboard Shortcut,为其添加快捷键,我这里设置为Ctrl+J
使用:如要跳转到以p开头的位置,先按住Ctrl+J,然后再输入p,这时,emacsIDEAs插件会为文件的所有以p开头的单词进行编号,asdf…按下光标要跳转到位置对应的字母即可
3.6 编辑区和文件区的跳转
我们能看到上面你标记的数字。
编辑区指的是我们写代码的区域
文件区指的我们看到项目的文件
在代码编辑区按Alt+1(左侧标记的数字,我们可以快捷的打开和关闭)可以跳转到文件区下,再按ESC就可以从文件区返回到编辑区
3.7 精准搜索
类 :
Ctrl+N,可以搜索到指定的Class类
Ctrl+N+N,可以搜索包含JAR包中的类
文件 :
Ctrl+Shift+N,可搜索到指定的File文件
符号:
Ctrl+Alt+Shift+N,可以搜索关键字,包括变量名、函数名和类名等。
字符串 :
要搜索字符串,可以通过Ctrl+Shift+F来实现,有几个选项:
Match case,是否匹配大小写
Words,是否是一个单词
Regex,通过正则表达式搜索
File mask,可以指定在哪个文件下搜索
In Project,在项目下搜索
Module,在模块下搜索
Directory,在目录下搜索
Scope,在指定区域内搜索,还可以自定义搜索区域
第四章代码助手
4.1 列操作
光标选中相关操作
Shift+右箭头,选中下一个位置,按住Shift并多次按方向键选中多个位置
Ctrl+右箭头,Move Caret to Next Word把光标移动到下一个单词
Ctrl+Shift+右箭头,Move Caret to Next Word With Slection把光标移动到下一个单词并选中
大小写转换
Ctrl+Shift+U,Toggle Case
Home,Move Caret to Line Start将光标移动到本行开始的位置
End,Move Caret to Line End将光标移动到本行最后的位置
Ctrl+Alt+Shift+J,Select All Occurrences,选中所有相同的字符串,多光标操作
F2,自动将光标定位到报错的位置
Ctrl+Alt+L,Reformat Code,重新格式代码
案例,后台向前台传递响应状态时,定义如下四种状态,分别为响应成功、错误、需要登陆和非法参数
0: "success"
1: "error"
10: "need_login"
2: "illegal_argument"
最终效果
SUCCESS(0)
ERROR(1)
NEED_LOGIN(0)
ILLEGAL_ARGUMENT(2)
现在要把状态封装成枚举类,需要以下几步:
- 创建枚举类ResponseCode,声明两个属性code和desc并生成构造方法和get方法
- 把上面四种状态复制过来
- 将光标选中到“:”,按Ctrl+Alt+Shift+J进行多光标操作,也可以用Alt+J,会依次选中下一个
- 将全部的光标移动到双引号后面的位置,按住Ctrl+Shift+右箭头选中success等单词,并按Ctrl+Shift+U将单词转换成大写
- Ctrl+C复制这些单词,使用Home,将光标移动到行首,粘贴,输入左括号,Ctrl+右箭头,将光标移动到“:”前面
- Ctrl+Shift+右箭头,会选中“: ”,替换成“,”
- 连续按三次Ctrl+右箭头,或者直接按End键,将光标显示到行的末尾,输入“),”
- 现在除了最后一行报错,前面的三行就都完成了。ESC取消多光标操作,按F2光标会定位到报错的位置,Shift+左箭头,将最后一个枚举的“,”换成“;”
Ctrl+Alt+L,Reformat Code,重新格式代码
public enum ResponseCode { SUCCESS(0,"SUCCESS"), ERROR(1,"ERROR"), NEED_LOGIN(10,"NEED_LOGIN"), ILLEGAL_ARGUMENT(2,"ILLEGAL_ARGUMENT"); private final int code; private final String desc; ResponseCode(int code, String desc) { this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; } }
第五章 编写高质量代码
5.1 重构
重构变量,Shift+F6,Rename
重构函数
Ctrl+F6,Change Signature,添加参数
先在调用的地方添加实参,Alt+Enter
5.2 抽取
抽取变量,Ctrl+Alt+V。Refactor->Extract->Variable
//抽取前
System.out.println("sun");
System.out.println("sun");
System.out.println("sun");
//抽取后
String sun = "sun";
System.out.println(sun);
System.out.println(sun);
System.out.println(sun);
抽取成静态常量,Ctrl+Alt+C
public static final String SUN = "sun";
public static void main(String[] args) {
System.out.println(SUN);
System.out.println(SUN);
System.out.println(SUN);
}
抽取成员变量,Ctrl+Alt+F
private static String sun;
public static void main(String[] args) {
sun = "sun";
System.out.println(sun);
System.out.println(sun);
System.out.println(sun);
}
抽取函数,Ctrl+Alt+M
第六章 寻找修改轨迹
6.1 git的集成
annotate,注释。在显示行号的位置右击(什么?你不知道在哪里显示行号?看下图),选中Annotate即可查看当前行代码的commit、author和date
6.2 local history
show history,查看本地所有的更改
put label,做了更改后,为本次更改做个标记,再次show history可以看到左侧的标签
第七章 关联一切
7.1 spring的关联
File->Project Structure->Facets->+按钮->Spring把接口和实现类对应起来,bean是在哪个文件扫描到的等
7.2 数据库的关联
数据库视图,IDEA右侧边栏的Database->+按钮->Data Source->选择是那种数据库->输入主机、数据库、用户名、密码、URL。
书写Mapper时,IDEA就会提示数据库的相关信息(表名、列名)
可以在视图中重构表名、列名,Shift+F6
第八章 调试程序
8.1 断点调试
添加断点,Toggle Line Breakpoint,Ctrl+F8
Debug方式启动程序,Shift+F9
单步运行,F8,Step Over
resume(重新开始,继续),F9。会跳转到下一个断点,如果没有断点了,直接结束程序运行
查看所有断点,Ctrl+Shift+F8
禁止所有断点,Mute Breakpoint,然后按F9,就可以跳过余下的所有断点了
表达式求值,Alt+F8。可以对程序中的变量做一些操作如list.size等
运行到指定行,从断点运行的位置直接让程序运行到光标所在的行,Run to Cursor,Alt+F9
setValue,在debug窗口,选中要设值得变量,F2,可以在调试时改变变量的值
第九章 其他操作
9.1 文件操作
Ctrl+Alt+Insert,快速创建类,文件等
复制当前文件,F5,无需复制粘贴
移动当前文件
剪切、复制
F6
9.2 文本操作
复制文件名:选中文件名,Ctrl+C
复制文件完整路径:Ctrl+Shift+C
Ctrl+[ OR ],可以跑到大括号的开头与结尾
Alt+Insert,可以生成构造器/Getter/Setter等
Ctrl+Shift+Space,自动补全代码
Alt+Shift+Up/Down,将代码上/下移一行
Ctrl+X,删除行
Ctrl+D,复制行
9.3 结构图
查看field、method大纲,File Structure,Ctrl+F12
查看maven依赖大纲,pom.xml右击->Maven->Show Dependency
查看类图大纲,找到代码右键Diagrams或Ctrl+Alt+Shift+U
查看类继承结构,Ctrl+H
查看当前函数调用了哪些其他函数,或当前函数被哪些函数调用,Ctrl+Alt+H,可以帮助看其他项目源码的结构
原文链接:https://blog.csdn.net/u011741311/article/details/79085379