Idea常用技巧总结
1.无处不在的跳转
注:这里的快捷键是自己定义的,并非大家的都一样,可以通过findAction查找相应的快捷键。
菜单栏选择"帮助/help"→FindAction(ctrl+shift+A)快速搜索想要查找命令。
1.1 项目窗口间的跳转
- 菜单栏选择window →Previous Project Window(ctrl+alt+左方括号)
1.2 文件之间的跳转 - 查看近期浏览文件 findaction(ctrl+shift+A) →输入recent files
- Ctrl+E
- 查看近期改动文件 recent changed files ⇔ ctrl+shift+e
- 修改位置跳转
- 菜单栏"Navigate"→last edit location(ctrl+Q)
- 反之 next edit location 可以自定义快捷键。
- 浏览位置跳转(光标停留位置) navigate →back(alt+向左箭头)
1.3 项目区与代码编辑区的相应跳转 - 项目区跳到右边代码编辑区
- 按ESC键
- 代码编辑区跳到左边项目区
- Alt+数字1
1.4 书签之间的跳转
- Alt+数字1
- 利用书签跳转
- findaction→bookmarks→toggle bookmark(ctrl+shift+F11)
- 带标记书签 bookmarks→toggle bookmarks with Mnemonic(ctrl+alt+shift+F11)
- 标签间跳转 用ctrl+作标记的数字(这里有个坑我按小键盘数字没反应,得按大键盘的数字才行)
1.5 收藏夹
- 查看收藏夹 findaction→favorites(alt+2)
- 可以看到我们的书签、收藏夹。
- 单独添加到收藏夹(自定义收藏夹)
- findaction → add to favorites(Alt+shift+F)
- 我们可以光标定位到某个函数、或是某个类添加到自定义的收藏夹中(add to new favorites list)
1.6 插件
- 调插件页面 findaction→输入plugins
- 1.神器 emacsIdeas 安装
- browse repositories →emacIdeas→install→restart idea(重启Idea)
配置emacsIdeas快捷键 settings/keymap/emacIdeas文件夹下AceJumpWord添加对应的快捷键。- 按下刚配置的快捷键比如我这里shift+alt+K →按下要找的数字→输入任意高亮位置就跳转到对应位置了。
1.7 编辑区分屏
- 按下刚配置的快捷键比如我这里shift+alt+K →按下要找的数字→输入任意高亮位置就跳转到对应位置了。
- browse repositories →emacIdeas→install→restart idea(重启Idea)
- 垂直分屏
* 在vim模式下,shift + : sp–水平分屏 vs—竖直分屏
1.8 代码格式化★ - 部分代码格式化
- 选中要格式化代码 ctrl+shift+F
- 全部
- 直接ctrl+shift+F
2.高速定位代码
2.1 精准搜索
- 直接ctrl+shift+F
- 类 commend+n 搜索非本项目的类 commend+n+n 右上角选择全部文件
- commend+n
- 文件
- 菜单栏 navigate →file(ctrl+shift+n commend+shift+n+n 全部place)
- 符号
- 菜单栏 navigate →symbol(commend+opt+shift+n)
- 字符串
- 菜单栏 edit→find→find in path(control+shift+f) 到对应的包 按下这个命令,只在这个命令下搜索
3.代码小助手
3.1 列操作
- 菜单栏 edit→find→find in path(control+shift+f) 到对应的包 按下这个命令,只在这个命令下搜索
- 移动到当前单词尾部
- findaction →输入move caret to next word(ctrl+向右箭头)
- 选中到当前单词尾部 (ctrl+shift+向右箭头)
- 当前单词设置大小写切换
- edit→toggle case(ctrl+shift+u)
- 移动到当前行首
- findaction→输入move caret to line start(Home键)
- 移动到当前行尾
- findaction→输入move caret to line end(End键)
- 将当前行的操作应用到相似行进行批量操作★
- 菜单栏edit→find→select all occurrences(ctrl+alt+Y)
- 格式化下代码
- 菜单栏code→reformat code
3.2 live Template★
- 菜单栏code→reformat code
- main
-
findaction→输入live templates→点击右上角“+”
-
输入缩写main 简介public static void main
-
输入方法体
public static void main(String[] args){ -
$END$
-
}
-
点击define→勾选java
-
输入main敲下回车即可。
-
- psfi
-
输入最终模板(右边var1、var2确保输入一个参数回车后跳到另一参数输入) public static final int v a r 1 var1 var1= v a r 2 var2 var2;
-
点击define→勾选java
-
- psfs
-
输入最终模板(右边var1、var2确保输入一个参数回车后跳到另一参数输入) public static final String v a r 1 var1 var1=“ v a r 2 var2 var2”;
-
点击define→勾选java
-
- pic
-
输入模板 pic(private int 带有注释) /**
-
* $var1$
-
**/
-
private int $var2$;
-
$End$
-
点击define→勾选java
-
- pi、ps(private int …和private String…)设置同上,略。
3.3 postfix★ - 使用此功能(神器,输入一些东西加上"."后自动转换成想要的模板)
- findaction→postfix completion→勾选enable postfix completion.
- 找到java→fori可以查看实现原理(下面仅列出几种常用的)。
- findaction→postfix completion→勾选enable postfix completion.
- for循环(fori)
- 打印(sout)
- field
- 构造方法中.field会自动补充不存在的字段(详见wqjavase项目idea包下的B.java)。
- return
- nn(判断是否为空),比如判断变量key 是否为空,可以key.nn 自动生成是否为空的代码
3.4 alt+enter智能提示 - 快捷键
- findaction→show intention actions(option+anter) f2 找到代码中有问题的地方
- list replace
- 字符串format或者build
- 实现接口
- 新建接口→UserService→光标定位到接口名称→按下alt+anter
- 选择implement interface→输入实现类名称+选择创建位置
- 选择实现接口中的方法即可生成。
- 单词拼写
- 如果单词不记得如何拼写可以选中再按下alt+anter选择type change to它提示的英文单词进行矫正。
- 导包 ★
- 通过提示手动导包
- 按下alt+anter即可(我喜欢这种)
- 自动导包
- Settings→Editor→general→勾上auto import Optimize…
- 通过提示手动导包
- annotate
- 找出某行代码作者是谁
- 在代码行左侧右击annotate
- 找出某行代码作者是谁
- 移动所有改动之处
- “”→previous changes(option+commend+shift+向上箭头)
- 撤销操作
- findaction→revert(commend+option+z)
4.编写高质量代码
4.1 重构
- findaction→revert(commend+option+z)
- 重构变量
- 选中要重构的变量→菜单栏选择refactor→rename(shift+f6)
- 重构方法
- 重构方法签名 comend+f6
- 字符串增量选择 commed + w
- 选择要重构的方法名→菜单栏选择refactor→change signature→输入相关参数配置即可。
- 另一种通过alt anter
- 直接在调用时输入要添加的参数→alt+anter→add 相应参数至方法即可。
- 抽取
- 抽取变量
- 选中字符串中的变量→refactor→extract→variable(option+commend+L);
- 抽取静态变量
- 选中字符串中变量→refactor→extract→Constant(option+commend+c)
- 抽取方法参数
- 如果方法中有用到成员变量(如this.name)→refactor→extract→parameter(option+commend+p)就可以将成员变量以入参的形式传进来。
- 抽取函数
- 将方法中的逻辑抽取为一个函数。refactor→extract→Method(option+commend+m)
- 将一个字符串提取为一个变量 option+commend+v
- 抽取变量
5.寻找修改轨迹
5.1 git集成
- annotate
- 找出某行代码作者是谁
- 在代码行左侧右击annotate
- 找出某行代码作者是谁
- 移动所有改动之处
- “”→previous changes(option+commend+shift+向上箭头)
- 撤销操作
- findaction→revert(commend+option+z)
5.2 local history★
- findaction→revert(commend+option+z)
- 显示本地修改历史记录
- findaction→local history→show history
- 点击箭头可撤销。
- put label(类似commit提交注释的功能)
6.关联一切
6.1 与Spring的关联
- 视频学习链接
- 操作流程
- file→project structure→facets→点击“+”→Spring到项目→点左下角加号→再勾上Spring配置文件即可(可以看到Springbean被哪里定义等信息)。
6.2 与数据库的关联
- file→project structure→facets→点击“+”→Spring到项目→点左下角加号→再勾上Spring配置文件即可(可以看到Springbean被哪里定义等信息)。
- 数据库连接
- view→tool windows→database
- 按“+”→datasource→mysql→输入数据库名;用户名、密码测试连接出现Suqcessful即可。
- 关联sqlmap我就略过了。
7.调试程序
7.1 断点调试
- 打断点
- run→toggle line breakpoint(ctrl+shift+B)
- 运行Debug模式
- run→debug…(alt+shift+F9)或者按小虫子
- 按步运行
- step over(F6)
- 跳过断点
- resume program(f8)
- 查看所有断点
- run→view breakpoints(ctrl+shift+F8)
- 禁止所有断点
- debug窗口中左侧找到禁止标志(mute breakpoints)→F8跳过所有断点
- 条件断点
- 在断点上右击出现 condition 输入条件(如s.equals(“wuqingvika”))
- 表达式求值
- 查看值★
- run→evaluate expression
- 查看值★
- 运行到指定行
- 在Debug窗口找到有个光标图标 run to cursor(ctrl+R)
- setValue★
- 在debug中只要选中要设置的变量按下F2设定想要设定的值即可。
7.2 任一处运行
- 在debug中只要选中要设置的变量按下F2设定想要设定的值即可。
- 运行当前上下文
- findaction→debug context 就会运行光标就近处的方法
- 注:如果光标在中间 那么两个都会运行
- 在当前可运行列表中选择一个运行
- alt+shift+F9
- 编辑当前运行
- run→edit configurations→application→选择某个应用程序→在program arguments输入参数信息
8.其他操作
8.1 文本操作
- run→edit configurations→application→选择某个应用程序→在program arguments输入参数信息
- 复制文件名
- 直接点击文件名 Ctrl+c在文本编辑区ctrl+v即可。
- 在当前目录下创建一个文件control+option+n
- 快速验证:shit+control+n 可以快速创建一个main方法
- f5 快速复制
- 复制文件全名
- shift+ctrl+c 再ctrl+v即可。
- 复制多个文件名
- 多次ctrl+c 再shift+ctrl+v选择要复制哪些文件名即可。
- 结构图
- 查看方法被哪些地方调用control+option+h
- 查看当前类的结构commend+f12
- 查看一个类中有哪些方法commend+7
- 查看一个方法的调用commend+0
- 查看当前field、method大纲
- navigate→File Structure(ctrl+F3)
- 查看maven依赖★
- pom.xml→右击Maven→show dependencies可以看到所有的依赖关系。
- 可以按Ctrl+f进行搜索
- 可以右击exclude进行排除
- pom.xml→右击Maven→show dependencies可以看到所有的依赖关系。
- 查看类图★
- 普通的子类名右击Diagrams→Show diagram即可出现类图。
- 查看类继承结构★
- findaction→hierarchy actions→hierarchy(alt+8)
- 方法调用层次★
- findaction→call hierarchy(ctrl+alt+H)