IDEA奇YIN巧技
如果你是首次接触IDEA建议先看IDEA萌新快速入手教程
高效定位代码
无处不在的跳转
在编码过程中我们在多窗口之间进行跳转都是使用鼠标点击窗口进行跳转,效率十分低下,使用快捷键进行跳转更加便捷哦~
项目之间的跳转
顾名思义,有时候我们会打开多个窗口进行开发,然后在多个window之间进行切换编码。
强大如IDEA,提供了如下快捷键进行window之间的跳转。Ctrl+Alt+[
和Ctrl+Alt+]
文件之间的跳转
使用快捷键Ctrl+E
查看近期打开的文件,使用方向键选择近期打开的文件进行跳转。
如果我们只想在近期修改过的文件中跳转注意上面的Show changed only
选项,再次按下Ctrl+E
勾选上即可过滤出近期修改过的文件。
编辑位置之间的跳转
有时我们在多个文件之间进行编码操作(比如Dao,Service,Controller层之间)需要快速跳转至上一次编辑位置,使用Ctrl+Shift+BackSpace
跳转至上次编辑位置(Last Edit Location)。跳转至下次编辑位置为Next Edit Location,我这居然没快捷键,所以大家自己查看一下。
浏览位置之间的跳转
浏览位置和编辑位置不一样,浏览位置为光标停留位置,我们可以在各个浏览位置之间迅速跳转,这在阅读源码时特别有帮助。跳转至上一浏览位置Ctrl+Alt+←
,跳转至下一浏览位置Ctrl+Alt+→
。
书签之间的跳转
使用Ctrl+F11
调出书签栏,选择喜欢的标签即可(还是按照顺序来选吧),使用Ctrl+标签
即能迅速的跳转至书签位置。有限像红色警戒游戏中为部队进行编号的意思呀_
当然,我们也可以直接使用Ctrl+Shift+标签
迅速打上(取消)书签。
编辑区和文件区
IDEA界面分为编辑区和文件区,如图所示。注意文件区中的数字(如1:project),使用Alt+数字
即可跳转至对应的文件区,使用Esc
即可返回原来位置。
精准搜索
搜索类
使用Ctrl+N
可快速查找项目中的类。
注意上面红框处,如果我们需要查找jar包中的类,则需要勾选上,再次按下Ctrl+N
即可勾选上。
搜索文件
使用Ctrl+Shift+N
迅速查找项目中的文件。
搜索符号
符号(Symbol)在IDEA中代表着函数或属性,我们使用Ctrl+Alt+Shift+N
查找相应的符号。
搜索字符串
当我们需要查找字符串时使用上面的所有查找都无用了,需要使用Find Path进行查找,对应快捷键为Ctrl+Shift+F
。
可以看到我们可以通过勾选不同的选项进行不一样的查找,比如设置查找的文件范围等。
高效编码
列操作
public enum Code {100:"CONTINUE"101:"SWITCHINGPROTOCOLS"200:"OK"201:"CREATED" 202:"ACCEPTED"public int code;Code(int code){this.code = code;}}
如上这段代码,我们现在需要将诸如100:"CONTINUE"
这些写成枚举,不懂IDEA列操作我们只能一个个的去修改,很费时间,如果使用列操作将十分快捷,如动图所示。
在讲解这个操作中我们需要了解几个快捷键:
- 选中一个单词,
Ctrl+Shift+→
- 选中光标到行尾的内容,
Shift+End
- 光标跳转至行首,
Home
- 光标出现在所有相同内容的行,
Ctrl+Alt+Shift+j
记住这四个快捷键我们就可以进行列操作了,首先将光标移至第一个:
前,使用Ctrl+Shift+→
选中这个冒号,再使用Ctrl+Alt+Shift+j
使光标出现在所有有冒号的行,此时将光标移动至字符串前,使用Ctrl+Shift+→
选中字符串,剪切, 光标跳转至行首粘贴,左括号,跳转至数字后,右括号,选中光标至行尾的内容,逗号,Esc退出光标多行,将最后一个逗号修改为分号。
live template
很多时候我们需要写一些固定格式的代码,比如public static final String
,我们可以借助live template
设置自己的模板迅速完成这些代码的编写。如下图所示,我们只需要输入psfs
即可快速编写出public static final String
。我们可以自定义许多模板加快我们的开发。
postfix
在使用postfix
前我们需要确保开启了postfix
。
在编码过程中经常使用for
循环,借助postfix
我们可以释放快速的完成for循环的编写。如下图即可迅速生成for (int i = 0; i < 100; i++) {}
。下面我们将介绍一些常用的postfix
。此部分内容为转载,来自公众号Java葵花宝典
var 声明
null 判空
notnull 判非空
nn 判非空
for 遍历
fori 带索引的遍历
not 取反
if 条件判断
cast 强转
return 返回值
Alt+Enter
自动创建函数
list replace
List<Integer> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {Integer integer = list.get(i);//do something
}
如上这段代码对列表继续遍历操作。我们使用alt+enter
将其快速转换为foreach形式。使用Alt+Enter
我们可以快速的对代码进行重构。
字符串format
如果我们打印多个变量时我们使用加号将多个变量连接起来打印,使用Alt+Enter
我们可以将其转换为format格式。
字符串build
字符串的连接推荐使用StringBuilder完成,而不是使用加号。
导包
如果IDEA没有自动导包我们需要手动进行导入,在需要导入的类名上使用Alt+Enter
选中合适的包进行导入。
断点调试
快捷键 | 功能描述 |
---|---|
F8 | 单步调试,不进入函数内部 |
F7 | 单步调试,进入函数内部 |
Shift+F7 | 选择要进入的函数 |
Shift+F8 | 跳出函数 |
Alt+F9 | 运行到光标处 |
Alt+F8 | 执行表达式查看结果 |
F9 | 继续执行,进入下一个断点或执行完程序 |
Ctrl+F8 | 设置/取消当前行断点 |
Ctrl+Shift+F8 | 查看断点 |
### 禁止所有断点 开启箭头所指选项我们可以禁止所有的断点。 ![请输入图片描述][33]
条件断点
我们可以为断点设置某一条件,当且仅当满足该条件时此断点才生效。使用Ctrl+Shift+F8
查看断点,在Condition中设置条件。
阅读源码
查看类的大纲
当我们查看源码时首先需要掌握的就是该类有哪些方法,哪些变量,我们不需要慢慢滚动鼠标去查看,使用快捷键Ctrl+F12
即可快速查看类的大纲。
查看类图
使用快捷键Ctrl+Alt+Shift+U
查看当前类的UML类图。
查看类继承层次
有时候我们需要查看继承此类或者实现此接口的类还有哪些,使用Ctrl+H
即可查看全部子类。
谁调的我,我调的谁
public class test2 {public static void main(String[] args) {fun1();}public static void fun1(){fun2();fun3();}public static void fun2(){fun3();}public static void fun3(){System.out.println("fun3...");}
}
如上所示代码十分简单,通过它我向大家演示方法的调用层次,光标置于方法上,使用快捷键Ctrl+Alt+H
,注意两个红框所示,通过切换这两个选项我们即可了解方法的调用层次。
查看谁调用fun2()
:
查看fun1()
调用了谁:
IDEA奇YIN巧技相关推荐
- 开发奇淫巧技Tips(Android篇)
没事会记录下开发的奇淫巧技,每个tips前都会标明开发语言,有更多更好的奇淫巧技可以发评论或者私聊,可以添加进来 1.Kotlin:View调用此方法传入url加载网络图片,如果是ImageView则 ...
- 多行文本注视 php,多行文本进行截断的奇淫巧技
本篇文章给大家带来的内容是关于多行文本进行截断的奇淫巧技,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 单行文字的截断非常简单,但是多行文字的截断可谓是非常头疼,刚学css时候就为了 ...
- asa防火墙升级固件_奇淫巧技 | 在路由器中添加策略,阻止电视系统升级
上一篇文章「长虹智能电视刷机降级,实现U盘安装第三方应用」中提到系统升级后会出现无法随意安装第三方应用的情况,当完成刷机后为了避免系统自动更新,你需要通过路由器阻止系统更新. 用openwrt类路由器 ...
- idea new对象后自动补全_IDEA的quot;奇淫巧技quot;
本期吉大浪潮俱乐部给大家带来了IDEA的快捷键用法总结.废话不多说,让我们赶紧开始吧!!! IDEA的奇淫巧技 前言 奇淫巧技是第一生产力 -鲁迅 玩笑归玩笑,掌握IDEA的常用功能,不仅能提高开发效 ...
- [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的data中设置了一些数组,为什么后台还是接收不 ...
- 奇淫巧技的KMP算法--详解
奇淫巧技的KMP算法–详解 花了一下午时间,看了十几个博客,终于拿下了KMP高地,现在总结下下自己对KMP的理解和实现. 情景1 假如你是一名生物学家,现在,你的面前有两段 DNA 序列 S 和 T, ...
- 源码解析中看到的奇淫巧技
源码解析中看到的奇淫巧技 一. 数组重置 let arr = [123,123] arr.length // 2 arr.length = 0 arr // [] 当我们给数组的length 属性设置 ...
- [asp.net mvc 奇淫巧技] 05
一.需求: 在web开发中,经常会处理javascript的一些问题,其中就包括js的压缩,合并,发布版本以及混淆加密等等问题.在asp.net 开发中我们使用ScriptBundle已经可以解决ja ...
- 【C#冷知识系列】(一)那些你知道或者不知道的奇淫巧技
引子 正如我在个人介绍中所写,我是一个仍然坚持.NET的头铁高级软件工程师,研究C#,.NET已经六年多,一直坚持认为自己的能力不足以教授别人,所以一直没有想法写博客.工作几年,内容涵盖了.NET框架 ...
最新文章
- 获取数组第N个元素的方法
- href=#与href=javascriptvoid(0)的区别
- 玩转控件:封装Dev的LabelControl和TextEdit
- mysql 中 and和or 一起使用和之间的优先级
- 锐捷ap怎么设置_新房装修网络布线方案一:AC+AP模式,弱电箱只放光猫和集成AC...
- jtessboxeditorfx 界面显示不出来_不需要发酵,自制家庭版健康小油条,不会失败的配方...
- Java写file文件上传,在线预览思路
- 与程序员相关的CPU缓存知识
- 刚安装3dsmax2020无法保存文件或注册机无法patch
- Eclipse中打开文件时单击和双击的设置
- vmware-vmx.exe无法结束进程
- swift和swiftui_SwiftUI和UIStackflow问题
- app后端开发四:GeoHash实现查找附近的X
- 批量处理ios破解后的资源文件为android所用
- SAE上使用cron定时发微博
- 蓝桥杯--历届真题 最优包含【第十届】【决赛】【B组】
- 如何利用Maven查找依赖信息
- [Vue]非父子组件传值(bus/总线/观察者模式/发布订阅模式)
- java集合练习题十六个国家随机分为四组
- STM32单片机—编码器测速