本文已被https://yourbatman.cn收录;女娲Knife-Initializr项目可公开访问;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复获得所有小而美的技术专栏
你好,我是,坐稳扶好,开始出发。
Title | Link |
---|---|
【方向盘】-IntelliJ IDEA | |
源代码 | https://github.com/yourbatman/FXP-java-ee |
程序员专用网盘公益上线,注册发送1G超小容量,帮你练习 | https://wangpan.yourbatman.cn |
Java开发软件包(Mac) | https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit |
女娲工程 | http://152.136.106.14:8761 |
[Mac OS 12.3],[iTerm2 3.4.15(zsh 5.8)],[IntelliJ IDEA 2021.3.3] |
??前言
本系列最后一篇文章介绍了本系列。IDEA里关于Run运行、Debug调试相关快捷键,熟练使用后逼格更高。
如你所知,IDEA非常智能,可以帮助您提示代码,智能修复问题。本文将继续介绍IDEA在加快编码过程。
?正文
??IntelliJ IDEA快捷键
??Code Completion
涵盖了各种代码完成技术使您能够加快编码过程。
??Basic
Action Name | Key |
---|---|
Basic | control space |
补充自动代码i.toS
敲打后: 按下control space
自动补充快捷键i.toString()
,这是代码自动补充功能。
值得注意的是,如果此时IDEA有很多补充选项,也就是说如何补充代码,此时将列出所有可能的选项,如下图所示: 这不是津津乐道功能?快捷键是control space
。
Tips:
control space
在某些场景中按两次快捷键,有时你会感到惊讶
??Show Quick Fixes/Context Actions
Action Name | Key |
---|---|
Show Quick Fixes/Context Actions | option 回车 |
也叫它:按下此快捷键,快捷键,IDEA总能给你一些修复提示,达到快速修复问题的目的。 使用这个快捷键的频率也很高,基本原则是:。
??Complete Current Statement
Action Name | Key |
---|---|
Complete Current Statement | command shift 回车 |
完成当前的句子。描述抽象,功能强大:这个快捷键可以帮助你快速完成目前还没有完成的句子。(Java中)什么是Statement:
- Integer i = 100;
- if语句
- break语句
- …
此时按下此功能快捷键,快速补充if语句: 老实说,笔者使用该快捷键频率很高,但绝大多数情况下只用于补全语句末尾的;
。若自动补充if、while这种逻辑语句有时会出现逻辑问题,所以使用时要小心。
??Delete Line
Action Name | Key |
---|---|
Delete Line | command delete |
delete按钮是一个个删除(或删除所选区域),很多时候我们需要,这个时候快捷键很好用,可以按行删除:
- 当没有选择时,删除
- 删除选定区域时
如图所示,按下此快捷键时,18-23共6行将全部删除。
??Duplicate Line or Selection
Action Name | Key |
---|---|
Duplicate Line or Selection | command d |
请注意功能命名与以上的区别:Line or Selection
可以看出,它可以复制一行,也可以复制选择的部分,是的关系。对比,上面有,只针对行Line进行操作,这是不一样的,具体表现在:
- 没有选择时,按行复制,复制到下一行
- 当,此时按内容复制,与行无关:
按两次command d
的效果为:
最后再强调一下,可认为该快捷键具有两个功能:复制1行,或者。后者的典型使用场景是:快速复制水平内容。
??Duplicate Entire Lines
Action Name | Key |
---|---|
Duplicate Entire Lines | control + command + ↓ |
这个快捷键我贼喜欢,相较于command + d
我更喜欢这个。它的含义是:。若没有任何选中or只选中一行,效果同command + d
;若有Selection,那么它复制的是,语义更加清晰,使用更加便捷。 按两次control + command + ↓
的效果为: 这种效果用起来更方便有木有,有木有?使用此快捷键再结合下面介绍的移动快捷键,将可以发出更大威力,可谓。
Tips:IDEA默认并没有给该功能绑定快捷键,笔者觉得这个比
command + d
更好用而自定义的(和其它键无冲突)快捷键,各位酌情取之哈
🚩Move Statement Up/Down
Action Name | Key |
---|---|
Move Statement Up/Down | command + shift + ↑/↓ |
将Statement作为一个,重点是整体移动,所以不会存在缺胳膊少腿不完整现象,它更像,由IDEA帮你决策移动哪些行、以及智能放到。 如图例子,若要向上移动System.out.println(v)
这个Statement的话,“合适的位置”在图中已标出,只有三处。
Tips:只能向上移动3次,因为Statement不可能出现在stream之间,也不能出main方法嘛。这便就是自动挡的“好处”
🚩Move Line Up/Down
Action Name | Key |
---|---|
Move Line Up/Down | option + shift + ↑/↓ |
该移动方式就是喽:
- 具体移动哪些行自己定(单位:行)
- 具体移动到哪里自己定(一行一行的移动)
如图例子,移到哪里去完全自由,且。实话讲,笔者个人还蛮喜欢使用这种移动方式的,更为常用。
🚩Reformat Code
Action Name | Key |
---|---|
Reformat Code | option + command + l |
格式化代码,IDEA(根据格式化模板)帮你整理空格、换行等格式,让代码看起来更整洁,建议经常使用。
Tips:默认会格式化当前文件的所有内容。若只想,那就选择区域后格式化,只会作用于选择的那部分代码
另外,在IDEA 2021.0.1版本新增了特性,有个新工具Actions on Save:可勾选Reformat code选项,这样在保存的时候就自动格式化啦
🚩Reformat File
Action Name | Key |
---|---|
Reformat File… | option + command + l |
它的目标也是格式化,当按下此快捷键时会弹出对话框: 解释这些选项:
- :格式化范围
- :只格式化为提交的文本
- :只格式化选中区域的文本
- :整个文件
- :格式化选项
- :优化导包(删除无用的导包)。常用
- :重新排列代码。根据code style代码样式对代码重新排列。不常用
- :代码清理。删除掉未被使用的变量、方法等。不常用
- :不保留换行,也就是仍按照code style方式去格式化。不常用
言而总之,它是option + command + l
的加强版:可对格式化定制化。但老实讲,实际使用大都还是直接使用上面的option + command + l
完成格式化,方便快捷。
🚩Optimize imports
Action Name | Key |
---|---|
Optimize imports | control + option + o |
一键整理导入语句,删除没有使用过的导入,非常使用。
不过实话讲,这个快捷键笔者很少使用,原因是我会开启IDEA的自动处理设置,所以就不用我再手动处理啦。如下图所示(也建议你这么干):
🚩Override/Implements Methods
Action Name | Key |
---|---|
Override Methods… | control + o |
Implements Methods… | control + i |
这两个快捷键放在一起,因为它俩功能很“相似”:都是复写/实现方法。举个例子:
public class Demo implements InitializingBean {
}
该类实现了InitializingBean
接口但没复写其方法,编译肯定报错的。这时我们可以借助IDEA快捷键帮我们快速生成相关代码,有多种快捷键方式:
control + i
:它的语义是实现。在类内部任意位置按下此快捷键,会弹出的,如下图所示: 值得注意的是,这里只会列出的,若已没有符合条件的方法(比如你都已经实现了,或者真的没有接口方法待实现了)就会弹出如下提示:control + o
:它的语义是复写。在类内部任意位置按下此快捷键,会弹出父类的所有方法,另外它还会附带把,也能达到实现接口方法的目的。如下图所示: 从这个case相信你能感受到control + o
和control + i
的区别了吧。
然而,你是否还联想到咱前面讲过一个个“万能修复”快捷键呢?是的,就是option + 回车
快捷键。按下此键,得到如下窗口: 这时点击Implement methods
这项,将会生成实现接口,注意是所有哦。
这三组快捷键看似都可以完成接口方法的实现问题,但各有各自最适合的场景,使用时因地制宜。笔者这三个快捷键使用得都挺多的。除此之外,针对复写/实现这种场景,笔者还有一个常用的“小技巧”,手动书写出需要复写/实现的方法名然后调出提示: 这就相当于喽,使用的前提是你需要知道你想复写的方法的,这样IDEA才能提示你。我喜欢使用该方式的主要原因:焦点可到我想要的地方,方法的位置自己也可控。
🚩Generate
Action Name | Key |
---|---|
Generate… | command + n或者control + 回车 |
自动生成构造器、get/set方法、toString()方法、测试用例等等,非常好用的一个快捷键。 在lombok越来越流行的今天,这个快捷键笔者其实已经很少使用了。
🚩Line/Block Comment
Action Name | Key |
---|---|
Comment with Line Comment | command + / |
Comment with Block Comment | command + optino/shift + /或者 optino + shift + / |
快速生成代码行注释/块注释,这个太简单也太常,就不赘述了。
🍞总结
本文继续介绍了IDEA 相关的快捷键,感受到IDEA在的代码完成技术上的强大,希望在编码的过程中,能加快你的进程,提升你的出活效率。
还是补上那句话:快捷键没有任何技巧性,练就完了!下篇继续介绍Intellij IDEA的实用快捷键。那,咱们还是下次再见!
推荐阅读
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(运行/调试篇)
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(视窗、选择篇)
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(IDEA导航篇)
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
我是:前25年不会写Hallo World、早已毕业的。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签
- 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
- 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
- ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
- 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
- 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
- 🙅🏻♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
- 📚高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍
《Spring奇淫巧技》
序号 | 专栏名称 | 简介 |
---|---|---|
01 | 【方向盘】-程序人生 | 程序人生,人生程序 |
02 | 【方向盘】-资讯/新特性 | IDEA、JDK、Spring技术栈…新特性 |
03 | 【方向盘】-IntelliJ IDEA | 熟练使用IDEA就相当拥有物理外挂,助你高效编码 |
04 | 【方向盘】-Bean Validation | 熟练掌握数据校验,减少90%的垃圾代码 |
05 | 【方向盘】-日期时间 | 帮你解决JDK Date、JSR 310日期/其实 的一切问题 |
06 | 【方向盘】-Spring类型转换 | Spring类型转换-框架设计的基石 |
07 | 【方向盘】-Spring static | static关键字在Spring里的应用 |
08 | 【方向盘】-Cors跨域 | 关于跨域请求问题,本专栏足矣 |
09 | 【方向盘】-Jackson | Almost Maybe是最好的Jackson专栏 |
10 | 【方向盘】-Spring配置类 | 专讲@Configuration配置类,你懂的 |
11 | 【方向盘】-Spring技术栈 | 暂无所属小分类的,Spring技术栈大分类 |
12 | 【方向盘】-JDK | 暂无所属小分类的,JDK技术栈大分类 |
13 | 【方向盘】-Servlet | Servlet规范、Web相关内容专题 |
14 | 【方向盘】-Java EE | 从Java EE到Jakarta EE,30年弹指一挥间 |
15 | 【方向盘】-工具/提效 | 开发工具、软件工具,目标是提效 |
16 | 【方向盘】-Spring技术栈新特性 | Spring Framework、Spring Boot、Spring Cloud、Spring其它技术 |
17 | 【方向盘】-基本功 | 每个Javaer,都需要有扎实的基本功 |
… | … | … |
99 | 大多数专栏均配有源代码,都在这里 |
- 源代码库地址:https://github.com/yourbatman/tech-column-learning
- CSDN主页:https://blog.csdn.net/f641385712
- 掘金主页:https://juejin.cn/user/430664289367192
- 博客园主页:https://www.cnblogs.com/yourbatman
- 个人博客主页:https://yourbatman.cn
- 个人网盘主页:https://wangpan.yourbatman.cn