多年总结IDEA 使用技巧 (建议收藏!)
很长一段时间没有更新了,前段时间转测试了,浪费了一些时间,终于可以写文章了,今天来写一下之前自己开发的一些习惯,因为自己本身自己是一个极简主义所以 开发喜欢这样:。
全屏显示
我们可以使用【Presentation Mode】,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的coding。
可以使用Alt+V快捷键,弹出View视图,然后选择Enter Presentation Mode。效果如下:
鼠标移上去就会这样显示时间, 是不是很酷,移开就是全屏
幻想一下,下雨天,你全屏显示敲代码,那样的安静,那样的惬意,那样的简洁
点击 Appearance ---> Exit Persenetation Mode,简单点说就是退出进入全屏模式 ,如果你绝对菜单栏还不好看,你也可以选择关闭
勾上这些就可以恢复原来的样子,最后再点 Exit Distraction Free Mode
这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用CTRL+E弹出最近使用的文件。又或者使用CTRL+N和CTRL+SHIFT+N定位文件。如何退出这个模式呢?很简单,使用ALT+V弹出view视图,然后选择Exit Presentation Mode 即可。但是我强烈建议你不要这么做,因为你是可以在Enter Presentation Mode模式下在IDEA里面做任何事情的。当然前提是,你对IDEA足够熟练。
分屏操作
这样看代码,个人认为比较舒服
在某一个类上面右键
刚刚上面是垂直,下面是水平
屏幕太多了,一直用鼠标也比较麻烦,这里我们可以直接 Ctrl+E
进行页面切换
除了 Ctrl+E
还可以只用 ,Ctrl+Alt+ 方向键进行切换视图
编译项目
有的时候,我们项目改变并不是很大,其实不用热部署,直接编译就好了,这样可以达到快速重启的目的
背景变护眼绿,很多人喜欢那种花里胡哨的背景插件,其实相对来说,我更喜欢护眼的绿色
路径:File->Settings->Editor->Color Scheme->General
设置成 C7EDCC
AutoCompletion
输出篇
快速输出
当我们要输出某一段内容的时候,很多人习惯想到
sout + Tab
这是我们IDEA 的输出快捷键 ,但是其实开源更简单 ,大家可以, 输出一段字符,在点 sout,这样就直接输出啦
这里就懒得做gif动图,直接截图的好
写成这样
然后加个Tab
键
快速定义成员变量
有时候我们想要定义一个成员变量,怎么办,通常都是直接把光标移入到 全局作用域的地方 ,输入我们要定义的变量名, 然后在 输出 ,有了下面的方式就好啦
首先 写一个字符串,点一个 fi
, ps: (field就是属性的英文) 就会出现提示,
点下去,就会神奇的 飞到全局作用域中去啦
很多时候,我们都需要做这些的操作,我们来看一下下,没用gif,可能图片有点多,适当看哈
快速的开发常见操作 :补全、判空、循环、取反
判空
,首先我们输入一个字符串 ,然后点一个 null 值,最后在回车
就会变成下面这个样子
取反
也是一样的 ,首先准备一个布尔值 ,前面加个 感叹号 ,由于我们多年的习惯,我们写代码都是往前写的tab
之后
咱们在 点if
然后 tab
格式化
,同样准备一个字符串,在里面输入占位符,然后点 format ,这时候就输出了,就像这样
这时候就可以直接输入值啦
返回
,这个应该是最常见的操作了,因为大多时候,我们都需要给方法加 返回值 ,这里我们就可以这样做,输入一个 x,然后点 return
效果是这样的啦,
循环
,这里的循环,我换一种操作,定一个容器,集合、数组都行,我们来试试,
然后 .fori
效果是这样的
或者是 for,就是我们的 foreach 循环
在或者是 forr
Lamb快速输出
点下之后当然这里可以直接输出,不过我们要接受一下,这里我们试试Runnable接口
不懂的自行学下
没报错啦
代码抽取
很多时候,在俺们开发当中,经常会方法调用方法,有时候一段代码过于的冗余,所以需要进行抽取,脑补以下,代码超长的感受
这就是我们抽取的快捷键,预览一下,没解释的自己百度翻译,emmm.....
局部变量
有的时候,咱们在需要快速定义局部变量,这样子
输入Ctrl +Alt +V
就会变成这个样子,局部变量
静态变量
还是一样,字符串,这回,咱们换个快捷键,输入
Ctrl+Alt+C
抽取静态变量
就会变成下面这个样子 ,哈哈
知道套路,咱们 就只说快捷键和效果,就省略,那些重复的图啦!
选中普通字符串 输入Ctrl +Alt +F
就抽取好啦
抽取方法参数
有的时候,我们使用的变量,往往要变成一个参数传进来,怎么做呢
还是选中普通字符串 我们继续 输入 Ctrl +Alt +P
这样,就变成方法参数啦!
抽取方法
这个也是最重要的核心,咱们再来讲讲 ,内容过多,抽取方法
还是字符串,输入 Ctrl+Alt+M
,就会自动抽取成方法
这里只是为了显示
编辑 代码块 ,进行一个常用的操作
咱们随便选一个吧 ,
提示篇
下面我们来看IDEA 中那些神奇的提示操作, 除了最基本的代码提示功能,IDEA 还提供更加智能的代码提示功能,该功能可以基于上下文环境,智能帮你过滤可以使用方法,推导出最适合的方法。该快捷键为 Ctrl+Shift+Space。
我们用下面两张图比对两者的区别。
基本提示功能:
智能代码提示:
参数提示当一个方法参数列表过多时,我们往往只会记住前两个参数类型,而后面参数类型我们只能去翻阅方法才。在 IDEA 中,你无需这般做。只要你将光标放置在放入参数列表中,暂停一会,IDEA 就会帮你智能提示。如果并不想等待一会,也可以,在方法内使用 ctrl +P 也可以快速出现提示框。
快速完成语句在 IDEA 中,可以使用快捷键 Ctrl+Shift+Enter
快速完成声明 if while 等语句。在下面的例子中,我们输入 while ,接着我们输入快捷键,我们可以看到 IDEA 自动帮我们完整这个结构,然后只需要输入判断条件即可。
此外,我们还可以用该快捷键完成下面的操作。
Postfix Code
这个模式可以在编写代码时减少向后插入符号跳转。我们可以在变量后面直接跟上 if、for 等表达式,IDEA 会直接转换成相应的语句。
Live Template
我们有时候会保存一些代码片段,然后在需要的时候直接粘贴。而 IDEA Live Template 就可以帮我们保存这个代码片段,且可以自定义关键字,需要的时候只需要输入关键字,就可以直接输出代码。而且 IDEA 也已经定义很多,我们可以直接上手使用。
如上图,我们可以输入 psfs,然后输入回车键或者 Tab 键,直接生成 public static final String。
输入 psvm,快速生成 main 方法。
我们可以使用下面的步骤自定义自己的 Live Template。
强大的搜索功能
开发的时候我们会去查看类的源码,有时我们只知道类的名字,却不知道具体包的位置,这个时候IDEA 强大的搜索功能可以帮我们迅速的找到。
我们可以按两下 shift,在弹出的窗口输入类名,就可以找到。
这个功能不仅可以找类,也可以用于找文件等。
还有的时候我们可能只记得类中的某个关键字,那上面的方法就无效。但是没关系,IDEA 还可以帮你用关键字去搜索找到 我们只要输入 Ctrl+Alt+F 快捷键。
IDEA 光标操作
操作基础
在相同内容后生成光标,一个一个选择
格式批量调整
将左侧的格式转换为右侧的格式
idea 快捷键
方法参数提示
ctrl + p
折叠代码
全局查找文本
ctrl + shift + F
最近修改的代码
ctrl + E
显示多行Tab
当我们打开的标签页多了的时候,默认的会隐藏在右侧,当我们需要的时候在右侧找到后再打开。IDEA是支持多行显示的,这样在大屏幕的显示器上也不用总去点击右侧的去找刚才打开过的文件了File - Settings - Editor - General - Editor Tabs
IDEA 自带快捷地址
为什么这个点,要单独写一个标题来讲呢,因为,很多人没有注意到这个细节,IDEA,大家都知道我们安装了IDEA 是这个 样子的
大家发现没有,我们有个文件加
Help
打开之后,我们再来看下
- 这么干净的快捷键列表,是不是很整齐,大家都疏忽了这么这么一份IDEA的宝典
好了,文章就写了这里,洗洗睡吧,明天,还有上班
你只管学习,我来负责记笔记 关注公众号! ,更多笔记,等你来拿,谢谢
多年总结IDEA 使用技巧 (建议收藏!)的更多相关文章
- Linux 文件搜索神器 find 实战详解,建议收藏!
大家好,我是肖邦,这是我的第 10 篇原创文章. 在 Linux 系统使用中,作为一个管理员,我希望能查找系统中所有的大小超过 200M 文件,查看近 7 天系统中哪些文件被修改过,找出所有子目录中的 ...
- 解密国内BAT等大厂前端技术体系-携程篇(长文建议收藏)
1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第四篇,前三篇已经讲述了阿里.腾讯.百度在前端技术这几年的技术发展. 这一 ...
- 解密国内BAT等大厂前端技术体系-腾讯篇(长文建议收藏)
1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第三篇,前两篇已经讲述了阿里和百度在前端技术这几年的技术发展.这一篇从腾讯 ...
- [转帖]可能是东半球最好的 Curl 学习指南,强烈建议收藏!
可能是东半球最好的 Curl 学习指南,强烈建议收藏! http://www.itpub.net/2019/09/30/3302/ 记得转帖过.. 简介 curl 是常用的命令行工具,用来请求 Web ...
- 细说Python的lambda函数用法,建议收藏
细说Python的lambda函数用法,建议收藏 在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数.今天我就和大家聊聊lambda函数,在Pyth ...
- (转)python资料汇总(建议收藏)零基础必看
摘要:没料到在悟空问答的回答大受欢迎,为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何 ...
- 解密国内BAT等大厂前端技术体系-美团点评之下篇(长文建议收藏)
引言 在上篇中,我已经介绍了美团点评的业务情况.大前端的技术体系,其中大前端的技术全景图如下: 上篇重点介绍了工程化和代码质量的部分,工程化涵盖了客户端持续集成平台-MCI.全端监控平台-CAT.移动 ...
- 解密国内BAT等大厂前端技术体系-美团点评之上篇(长文建议收藏)
引言 进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了. 整个业界在前端框架不断迭代中,也 ...
- 万字超强图文讲解AQS以及ReentrantLock应用(建议收藏)
| 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...
随机推荐
- 吉他指弹入门——贝斯(walking bass)
在每一个乐队中都有一个神秘而低调的乐手,在现场演奏中你甚至感觉不到他的存在,但是他又异常重要.即是鼓手打拍的好伙伴,又是吉他手忘乎所以solo时的警报器.没错,这个人就是贝斯手.要是我们做了什么气跑了 ...
- guitar pro 系列教程(六):Guitar Pro音频导出功能之RSE音源
让我们继续进行guitar pro的教程 上一章节,我们讲解了guitar Pro的播放与显示功能,在Guita pro的音源选择中分为两类,一种是自带的RES高保真音源,一种是MIDI输入音源.如果 ...
- css3系列之伪元素选择器
Pseudo-Element Selectors(伪元素选择器) E::placeholder E::selection E::placeholder 这个选择器是选啥的呢, 是选 input 里面的 ...
- Python多线程join和setDaemon区别与用法
一直没有太搞清楚join和setDaemon有什么区别,总是对于它们两个的概念很模糊,需要做个实验然后记录一下. 先说结论: join: 子线程合并到主线程上来的作用,就是当主线程中有子线程join的 ...
- Yali 19 - 8 - 6 test T2 猪国(pig) 题解
T2 猪国 题⽬描述 猪国是⼀个由 \(n\) 个城市组成的国家. 国王意识到了"要致富,先修路"这句话的重要性,它决定⼤规模修路.不巧的是,猪国的 猪们不太会⼯程,于是只能请隔壁 ...
- 通过Consul Raft库打造自己的分布式系统
通用的CP系统有etcd和consul, 通用的对立面就是专用系统. 所以在某些场合是有这种需求的. 然而etcd embed的可用性极差, Windows上面跑会出现各种问题, 而且不能定制协议, ...
- HTML的基本术语
一.HTML含义1.根据W3C定义,HTML全称Hyper Text Markup Language: 超文本标记语言,用于定义文档的内容结构,该语言书写的代码通常会被浏览器解析执行.二.css含义1 ...
- 使用Git,10件你可能需要“反悔”的事
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...
- MyBatis-01:环境搭建
MyBatis-01:环境搭建 1.搭建实验数据库 CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user`; CRE ...
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否首列跨所有列展示属性isFirstColumnSpanned
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget树型部件的QTreeWidgetItem项方法isFirstColumnSpa ...