网易首页 > 网易号 > 正文 申请入驻

使用IDEA的60+个快捷键分享给你,权为了提效(代码补全篇)

0
分享至

作者:方向盘

本文继续介绍了IDEA 代码补全相关的快捷键,感受到IDEA在上下文感知的代码完成技术上的强大,希望在编码的过程中,能加快你的进程,提升你的出活效率。

按下control + space快捷键,将自动补全i.toString(),这就是代码自动补全功能。这不就是津津乐道的代码提示、代码补全功能吗。快捷键就是control + space。如图所示,按下此快捷键时18-23共6行将全部被删除。按两次command + d的效果为:按两次control + command + ↓的效果为:这种效果用起来更方便有木有,有木有?使用此快捷键再结合下面介绍的移动快捷键,将可以发出更大威力,可谓加强版CV。解释这些选项:值得注意的是,这里只会列出还未实现的接口方法,若已没有符合条件的方法(比如你都已经实现了,或者真的没有接口方法待实现了)就会弹出如下提示:这在lombok越来越流行的今天,这个快捷键笔者其实已经很少使用了。

前言

本系列上篇文章介绍了IDEA里关于Run运行、Debug调试相关的快捷键,熟练后使用起来逼格更高了有木有。

如你所知,IDEA非常的“智能”,能给与你代码提示、问题智能修复等帮助。本文将继续介绍IDEA在代码补全方面的快捷键,加快你的编码过程。

所属专栏
  • 【方向盘】-IntelliJ IDEA。
相关下载
  • 【本专栏源代码】:https://github.com/yourbatman/FXP-java-ee。
  • 【技术专栏源代码大本营】:https://github.com/yourbatman/tech-column-learning。
  • 【女娲Knife-Initializr工程】访问地址:http://152.136.106.14:8761。
  • 【程序员专用网盘】公益上线啦,注册送1G超小容量,帮你实践做减法:https://wangpan.yourbatman.cn。
  • 【Java开发软件包(Mac)】:https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit。
版本约定
  • Mac OS 12.3。
  • iTerm2 3.4.15(zsh 5.8)。
  • IntelliJ IDEA 2021.3.3。
正文

IntelliJ IDEA快捷键

Code Completion

涵盖了各种上下文感知的代码完成技术,使你能够加快你的编码过程。

Basic

自动代码补全。比如i.toS敲打后:

值得注意的是,若此时IDEA有多个补全选项,也就是说无法帮你决策如何补全代码,这时就会列出所有可能选项,交由你来做选择决策,正如下图所示:

Tips:control + space快捷键在某些场景按两次,有时候你能得到惊喜哦。

Show Quick Fixes

也叫它万能键:在提示报错的地方按下此快捷键,IDEA根据上下文总能给你一些修复提示,达到快速修复问题的目的。

这个快捷键的使用频率也贼高,基本原则是:哪里报错点哪里。

Complete Current

完成当前语句。形容很抽象,功能很强大:当前还未完成的语句,此快捷键可快速帮你完成。那么,(Java中)什么是Statement:表示某种操作, 但是没有返回值。

  • Integer i = 100
  • if语句
  • break语句

此时按下此功能快捷键,将快速补全if语句:

老实说,笔者使用该快捷键频率很高,但绝大多数情况下只用于补全语句末尾的;。若让自动补全if、while等这种逻辑语句的时候,有时候会出现逻辑问题,所以你使用的时候也要小心。

Delete Line

delete按键是一个个删除(或者删除选中的区域),而很多时候我们需要按行删除,这时该快捷键就非常好用了,它可以按行删除:

  • 没有任何选中时,删除光标所在行。
  • 有选中区域时,删除选中区域所有行。

Duplicate Line or Selection

请注意该功能命名和上面的差异:Line or Selection可知它即可复制一行,又可复制选中部分,是或者的关系。对比,上面有且仅针对行Line进行操作,这是不一样的,具体表现在:

  • 没有任何选中时,按行复制,复制光标所在行到下一行。
  • 当有选中时,这时就按内容复制了,和行没有关系:选中多少复制多少,然后将复制的内容放到选中区域尾部。

最后再强调一下,可认为该快捷键具有两个功能:复制1行,或者复制选中内容到选中区域末尾。后者的典型使用场景是:横向内容快速拷贝。

Duplicate Entire Lines

这个快捷键我贼喜欢,相较于command + d我更喜欢这个。它的含义是:复制全部行。若没有任何选中or只选中一行,效果同command + d;若有Selection,那么它复制的是选中区域的所有行,语义更加清晰,使用更加便捷。

Tips:IDEA默认并没有给该功能绑定快捷键,笔者觉得这个比command + d更好用而自定义的(和其它键无冲突)快捷键,各位酌情取之哈。

Move Statement Up/Down

将Statement作为一个整体进行移动,重点是整体移动,所以不会存在缺胳膊少腿不完整现象,它更像自动挡,由IDEA帮你决策移动哪些行、以及智能放到合适的位置。

如图例子,若要向上移动System.out.println(v)这个Statement的话,“合适的位置”在图中已标出,只有三处。

Tips:只能向上移动3次,因为Statement不可能出现在stream之间,也不能出main方法嘛。这便就是自动挡的“好处”。

Move Line Up/Down

该移动方式就是手动挡喽:

  • 具体移动哪些行自己定(单位:行)。
  • 具体移动到哪里自己定(一行一行的移动)。

如图例子,移到哪里去完全自由,且没有边界。实话讲,笔者个人还蛮喜欢使用这种移动方式的,更为常用。

Reformat Code

格式化代码,IDEA(根据格式化模板)帮你整理空格、换行等格式,让代码看起来更整洁,建议经常使用。

Tips:默认会格式化当前文件的所有内容。若只想局部格式化,那就选择区域后格式化,只会作用于选择的那部分代码

另外,在IDEA 2021.0.1版本新增了特性,有个新工具Actions on Save:可勾选Reformat code选项,这样在保存的时候就自动格式化啦。

Reformat File

它的目标也是格式化,当按下此快捷键时会弹出对话框:

Scope:格式化范围:

  • Only changes uncommitted to VCS:只格式化为提交的文本。
  • Selected text:只格式化选中区域的文本。
  • Whole file:整个文件。

Options:格式化选项:

  • Optimize imports:优化导包(删除无用的导包)。常用
  • Rearrange code:重新排列代码。根据code style代码样式对代码重新排列。不常用
  • Code cleanup:代码清理。删除掉未被使用的变量、方法等。不常用
  • Do not keep line breaks:不保留换行,也就是仍按照code style方式去格式化。不常用

言而总之,它是option + command + l的加强版:可对格式化定制化。但老实讲,实际使用大都还是直接使用上面的option + command + l完成格式化,方便快捷。

Optimize imports

一键整理导入语句,删除没有使用过的导入,非常使用。

不过实话讲,这个快捷键笔者很少使用,原因是我会开启IDEA的自动处理设置,所以就不用我再手动处理啦。如下图所示(也建议你这么干):

Override/Implements Methods

这两个快捷键放在一起,因为它俩功能很“相似”:都是复写/实现方法。举个例子:

复制

public class Demo implements InitializingBean {}.

该类实现了InitializingBean接口但没复写其方法,编译肯定报错的。这时我们可以借助IDEA快捷键帮我们快速生成相关代码,有多种快捷键方式:

control + i:它的语义是实现。在类内部任意位置按下此快捷键,会弹出还未实现的接口方法,如下图所示:

control + o:它的语义是复写。在类内部任意位置按下此快捷键,会弹出父类可以复写的所有方法,另外它还会附带把还未实现的接口方法带出来,也能达到实现接口方法的目的。如下图所示:

从这个case相信你能感受到control + o和control + i的区别了吧。

然而,你是否还联想到咱前面讲过一个个“万能修复”快捷键呢?是的,就是option + 回车快捷键。按下此键,得到如下窗口:

时点击Implement methods这项,将会生成实现接口所有的还未实现的方法,注意是所有哦。

这三组快捷键看似都可以完成接口方法的实现问题,但各有各自最适合的场景,使用时因地制宜。笔者这三个快捷键使用得都挺多的。除此之外,针对复写/实现这种场景,笔者还有一个常用的“小技巧”,手动书写出需要复写/实现的方法名然后调出提示:

这就相当于半自动挡喽,使用的前提是你需要知道你想复写的方法的大致名称,这样IDEA才能提示你。我喜欢使用该方式的主要原因:焦点可快速定位到我想要的地方,方法的位置自己也可控。

Generate

自动生成构造器、get/set方法、toString()方法、测试用例等等,非常好用的一个快捷键。

Line/Block Comment

快速生成代码行注释/块注释,这个太简单也太常,就不赘述了。

总结

本文继续介绍了IDEA 代码补全相关的快捷键,感受到IDEA在上下文感知的代码完成技术上的强大,希望在编码的过程中,能加快你的进程,提升你的出活效率。

责任编辑:姜华来源: Java方向盘

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
"图书馆"成了失业人员的避难所

"图书馆"成了失业人员的避难所

悠闲葡萄
2024-06-02 15:15:33
中美谈崩后,晚宴座位安排变了,美菲演讲插曲不断,中方压轴登场

中美谈崩后,晚宴座位安排变了,美菲演讲插曲不断,中方压轴登场

说天说地说实事
2024-06-03 13:48:49
想长寿,坚持这十点,活到80岁以上没什么问题

想长寿,坚持这十点,活到80岁以上没什么问题

叒女紫121
2024-06-02 16:38:24
硕大的岩石,是岁月的见证者。

硕大的岩石,是岁月的见证者。

花小猫的美食日常
2024-06-01 19:00:22
曝樊小慧花600万买房,和前夫开撕是剧本,网红虞美人早就暗示了

曝樊小慧花600万买房,和前夫开撕是剧本,网红虞美人早就暗示了

娱圈小愚
2024-06-03 11:26:15
婚后生活不谐,老公居然帮妻子安排异性按摩,还主动腾出房间

婚后生活不谐,老公居然帮妻子安排异性按摩,还主动腾出房间

想养大熊猫
2024-05-08 10:15:01
央视第一女主持人离世,儿子成为她一生遗憾,细节曝光

央视第一女主持人离世,儿子成为她一生遗憾,细节曝光

新点老
2024-05-27 15:50:44
系统风格壁纸995

系统风格壁纸995

小影的娱乐
2024-06-02 16:23:50
意甲大结局:亚特兰大精准控盘 做掉罗马踢欧冠 输佛罗伦萨收官

意甲大结局:亚特兰大精准控盘 做掉罗马踢欧冠 输佛罗伦萨收官

智道足球
2024-06-03 08:28:37
NBA无人能破的5大纪录:麦迪35秒13分落选,榜首已被永远尘封

NBA无人能破的5大纪录:麦迪35秒13分落选,榜首已被永远尘封

刺头体育
2024-05-29 07:15:02
森林狼惨败原因曝光!华子连续骂队友,情绪失控 李凯尔也不放过

森林狼惨败原因曝光!华子连续骂队友,情绪失控 李凯尔也不放过

篮球国度
2024-06-02 15:30:40
杜江夫妇出席好友婚礼,43岁霍思燕发福明显,近照显憔悴

杜江夫妇出席好友婚礼,43岁霍思燕发福明显,近照显憔悴

牧歌侃娱
2024-06-03 11:29:31
开车时的不雅行为,摄像头拍的一清二楚,网友:不要这么迫不及待

开车时的不雅行为,摄像头拍的一清二楚,网友:不要这么迫不及待

芷夕说文
2024-01-08 08:54:41
《庆余年2》林婉儿人设惹争议,魔改后剧情难圆,编剧评论区沦陷

《庆余年2》林婉儿人设惹争议,魔改后剧情难圆,编剧评论区沦陷

萌神木木
2024-05-31 11:54:52
去农村收购水果,留守少妇邀我去她家吃饭,去了才发现只有她在家

去农村收购水果,留守少妇邀我去她家吃饭,去了才发现只有她在家

杨木林
2023-11-23 13:24:52
事先毫无征兆,泽连斯基突访菲律宾,马科斯不点名批中国

事先毫无征兆,泽连斯基突访菲律宾,马科斯不点名批中国

评论员童童
2024-06-03 13:07:50
多久没见中国女排亚洲第二?蔡斌做到了!3大恶劣后果够换他下课

多久没见中国女排亚洲第二?蔡斌做到了!3大恶劣后果够换他下课

嘴炮体坛
2024-06-02 21:36:12
101岁杨振宁月工资惊人!凭什么?回国养老,却把青春奉献给别国

101岁杨振宁月工资惊人!凭什么?回国养老,却把青春奉献给别国

华人星光
2024-05-26 17:24:36
西部金融圈的一位大佬,已经低调飞往加拿大!

西部金融圈的一位大佬,已经低调飞往加拿大!

黄桷树财经
2024-05-28 17:11:06
首任延安市长高朗亭,面对私生活不检点的高岗,敢于与其叫板

首任延安市长高朗亭,面对私生活不检点的高岗,敢于与其叫板

史海魅影
2024-06-02 10:54:49
2024-06-03 15:00:49
TaskBuilder
TaskBuilder
分享前端干货
53文章数 550关注度
往期回顾 全部

科技要闻

2万字演讲|黄仁勋剧透 未来3年新品有这些

头条要闻

陈冰:特朗普获罪令拜登更着急 他对拜登威胁性加大

头条要闻

陈冰:特朗普获罪令拜登更着急 他对拜登威胁性加大

体育要闻

万人空巷!皇马举行欧冠夺冠庆典

娱乐要闻

混战升级!编剧赵冬苓力挺王阳遭围攻

财经要闻

黄仁勋的计划:新AI平台 HBM4 机器人

汽车要闻

搭载华为HiCAR 传祺M6 MAX售14.58万元

态度原创

亲子
手机
数码
公开课
军事航空

亲子要闻

每当小朋友演出,台下总有一位卖力的老师领舞,“你甚至一秒钟都没有拍孩子”

手机要闻

紫光展锐再出海,T750 处理器 Lava Yuva 5G 智能手机海外登场

数码要闻

TrendForce:预计 2028 年 Micro LED 芯片产值将达 5.8 亿美元

公开课

近视只是视力差?小心并发症

军事要闻

朝国防省:朝方将暂停向韩方投放垃圾

无障碍浏览 进入关怀版