04-efficiency
1. 菜单栏
菜单栏 | |
---|---|
File | 文件操作 |
Edit | 文本操作 |
View | 界面视图操作 |
Navigate | 项目工程的跳转(搜索) |
Code | 原码文件的操作 |
Analyze | 对项目的依赖关系进行简单的分析 |
Refactor | (Refactor)重构(Extract)抽取函数、方法、静态类 |
Build | 项目是工程文件可以去构建 |
Run | 运行、调试 |
Tools | 亮点,提供了大量的工具 |
VCS | 版本控制 |
2. 高效定位代码
1. 跳转
1. 项目间
- cmd + `
2. 文件间
Find action: cmd + shift + A
快捷键 | |
---|---|
Recent file | cmd + E |
Recent change files | opt + shift + C |
Select Previous Tab | Ctrl + 左 右 |
3. 方法调用,变量使用
快捷键 | |
---|---|
Declaration | Cmd + B |
Implementation(s) | Cmd + opt + B |
4. 浏览、修改位置
5. 书签
Toggle Bookmark: F3
Show Toggle Bookmark: cmd + F3
6. 收藏位置和文件
7. 字符跳转神器跳转
- emacsIDEAs
Ctrl + L + 要查询的字符
8. 编辑区、文件区
项目 版本控制 运行 调试 终端 编辑器 Cmd + 1 9 4 5 F12 esc
9. vim进行多编辑区
10. 高亮
Go to next highlighted element usage ctrl + opt + 下
2. 精准搜索
1. 类
cmd + O * 2
- 可以将jar包中的类也搜索出来。
2. 文件
3. 方法、属性
cmd + opt + o
4. 字符串
3. 代码小助手
- 对代码进行批量编辑,重复性的代码通过模板技术来生成
1. 列操作
move caret to next word
Move caret to line start
大小写切换
2. Live template
- Double shift => live templates
- Psfi
- Psfs
- Pi(c)
- Ps(c)
3. Postfix
.var .sout .for = .iter
.new .soutv .fori
.cast .soutf
.castvar .soutm
.if .field .try
.else .return .synchronized
.null .format .while
.nn = .not
"name : %s , age : %d ".format
String.format("name : %s , age : %d", |);
String.format("name : %s , age : %d ", "name", 10) => cmd + opt + V
String format = String.format("name : %s , age : %d ", "ooxx", 10);
String name = "name";
int age = 10;
String format = String.format("name : %s , age : %d", name , age);
4. Intention action
Double shift => show intention action
1. 自动创建函数
String name = “lisongtao”;
f1(name);
2. list replace
- 将
fori
自动换成for-each
3. 字符串拼接
4. 创建接口实现类
- caret定位到接口名上
5. 单词拼写
6. 导包
5. refactor & extract
1. 重构
1. 重命名
2. 重构方法
1. cmd + F6
2. Opt + enter
Opt + enter
直接在调用的方法改
2. 抽取
1. 抽取变量
cmd + shift + V
user
User.new
new User() // cmd + shift + V
User user = new User();
System.out.println("taotao");
String taotao = "taotao";
System.out.println(taotao);
2. 抽取静态变量
3. 抽取成员变量
4. 抽取方法参数
5. 抽取函数
- 选中分离的代码
6. 修改历史
1. git集成
1. Git Blame
2. 移动所有改动之处
- 行数栏中,可以看到版本控制的:增、删、改、查
3. Revert
- 在改动行,只撤销一部分的改动
- 在未发动行,撤销文件改动之处
- 在文件夹处、包处,撤销文件夹或包的所有改动
2. Local history
Double shift => local history || put label(给记录加标签)
7. 关联一切
1. Spring的关联
@Resource
UserService // 具体依赖的是哪个类,直接点击跳到的是接口。下面有几个实现类是不知道的。
- 直接链接到自动注入的类
- 跳转到相应的扫描配置文件
- 可以直接点击跳转到你使用的类。在配置文件的扫描中也会出现
2. 与数据库的关联
- 这个可以直接跳转到findById对应的xml文件的sql
- sqlMap和数据库之间进行关联
- 直接改sql也会提示要不要改数据库里的字段
8. Debug
Gutter + click1
Gutter + Opt + click1
Gutter + shift + click1
- Quick Evaluate Expression
Opt + click1
||cmd + opt + F8
1. 添加断点
2. 单步运行
F8
3. Resume
F9
4. 查看所有断点
Cmd + shift + F8
5. 禁止所有断点
6. 条件断点
7. 表达式求值
8. 运行到指定行
9. setValue
10. Drop Frame
11. Force Return
12. 多线程调试
13. 远程debug
1. 服务器项目加参数
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8088 -jar ooxx-server-1.0.0-SNAPSHOT.jar --spring.profiles.active=local
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8088
jdwp
:java debug wire protocoltransport=dt_socket
:以socket协议进行通信server=y
:开启调试服务端address=4001
:通信端口是4001
2. idea配置
9. 其他操作
1. 文件操作
1. 新建文件
Ctrl + opt + N
2. 复制当前文件
F5
3. 移动当前文件
F6
2. 文本操作
3. 复制文件名
- 在project中cmd + C
4. 复制文件完整路径
Cmd + shift + C
5. 复制历史,剪切板功能
cmd + shift + V
10. overview
1. field、method大纲
cmd + F12
2. maven依赖、类图
- 安装Maven Helper
cmd + F
3. 类继承结构,方法调用层次
1. 类
2. 方法
- 光标首先要定位在方法名上
4. select in
Opt + F1 + enter 快速跳到project对应的文件
5. Scratches
- 全选
cmd + shift + N
4. Hands-on
1. lambda
x.lambda
() -> x
() -> {
}
2. pom.xml
artifactId => groupId => version:全部为自动补全