- Spring Boot趣味实战课
- 刘水镜
- 3188字
- 2022-08-16 19:35:31
2.3 打造一件趁手的兵器
一件趁手的兵器有多重要?这个问题问问孙悟空就知道了,他当初为了寻找一件趁手的兵器差点把东海龙宫给掀了。金箍棒之于孙悟空,就好比一款好用的IDE之于程序员。
IDE无疑是程序员披荆斩棘、驰骋沙场必不可少的工具。因此,一款好用的IDE对于程序员来说意义非凡,它可以让程序员提升编码效率。你要问我谁是最佳IDE,对于微软系编程语言来说,必然是Visual Studio,而对于JVM系编程语言来说,Intellij IDEA不出,谁与争锋?口说无凭,我们来看具体数据。图2-2展示了来自《2020 JVM生态报告》的数据。
图2-2 IDE市场份额
Intellij IDEA的市场份额(JVM生态)处于绝对领先的地位,比其他IDE的市场份额总和还多。光说数据也没什么意思,毕竟一个工具好不好,只有用起来才知道。下面我们就来看看Intellij IDEA究竟有什么本事,可以占据如此“傲视群雄”的市场份额。
2.3.1 设置
Intellij IDEA的默认设置非常友好,实现开箱即用完全没问题。但是它仍然提供了非常高的定制自由度,以便每个人都可以根据自己的习惯调节出更适合自己的IDE。下面分享一些我个人常用的设置,仅供参考,选择File→Settings菜单命令(或者按Ctrl+Alt+S快捷键),打开Settings面板。
设置主题与字体
选择Appearance&Behavior→Appearance选项(见图2-3)。
图2-3 设置主题与字体
在此面板中可以根据自己的喜好选择亮色、暗色或者高对比度的主题,以及字体和字号。
设置编辑区字体
选择Editor→Font选项(见图2-4)。
图2-4 设置编辑区字体
在此强烈推荐一下JetBrains的Mono字体,这是专为编程开发的一款等宽字体(开源的),支持多种主流编程语言。想了解更多相关信息的读者,可以去JetBrains官网查看。
对于老眼昏花的我来说,调大字号是必不可少的操作。
显示行号与方法分隔符
选择Editor→General→Appearance选项(见图2-5)。
图2-5 显示行号与方法分隔符
显示行号,这样在执行Debug操作的时候会很方便;显示方法分隔符,这样在阅读代码的时候会更清晰,效果如图2-6所示。
图2-6 显示行号与方法分隔符的效果
设置Editor Tabs布局
选择Editor→General→Editor Tabs选项(见图2-7)。
图2-7 设置Editor Tabs布局
我比较喜欢将代码的Tab放到左侧,配合带鱼屏显示器,使用体验非常棒!另外,还可以让Tab按照字母顺序排列,这样找起来会很方便。Editor Tabs设置效果如图2-8所示。
图2-8 Editor Tabs设置效果
高亮显示修改目录
选择Version Control选项(见图2-9)。
图2-9 高亮显示修改目录
勾选Show directories with changed descendants复选框后,当项目有改动时,对应的目录会高亮显示,且在亮色主题下会默认变成浅蓝色,非常直观。
这一功能需要集成版本管理工具(如Git或SVN等)后才能生效。
自动导入
选择Editor→Auto Import选项(见图2-10)。
图2-10 自动导入
勾选Add unambiguous imports on the fly和Optimize imports on the fly两个复选框,当没有二义性时,会自动导入包引用。当包引用不再被使用时,会自动移除。
设置Maven的Reload操作
选择Build,Execution,Deployment→Build Tools选项(见图2-11)。
图2-11 设置Maven的Reload操作
勾选Reload project after changes in the build scripts复选框后,当pom文件有更改时,会自动触发Maven的Reload操作,非常方便。
Intellij IDEA在某几个版本中去掉了这个功能,结果导致社区中一片抱怨声,所以在后续的版本中又恢复了这个功能。
自定义工具栏
选择Appearance&Behavior→Menus and Toolbars选项(见图2-12)。
图2-12 自定义工具栏
将比较常用的操作添加到工具栏中,可以提升便利性,例如,图2-12中选择了Forward选项,那么新增操作的相应按钮会被添加到Forward操作相应的按钮后面。
这里将新建Java Class的操作添加进来,如图2-13所示,依次展开Main menu→File→New选项,找到Java Class并单击OK按钮。
图2-13 添加新建Java Class的操作
完成后的效果如图2-14所示。当我们需要新建Java Class的时候,单击箭头所指的按钮即可。
图2-14 自定义工具栏效果
2.3.2 技巧
说完Intellij IDEA的设置部分,接下来继续分享一些比较好用的使用技巧,这些技巧可以在很大程度上提升我们的编程效率。
历史剪切板
快捷键:Ctrl+Shift+V。
历史剪切板如图2-15所示。作为一个程序员,我们在日常工作中肯定少不了进行复制、粘贴操作。(嗯?谁在“黑”我们程序员?)这个功能可以极大地提升效率。
图2-15 历史剪切板
最近查看/修改过的文件
快捷键:Ctrl+E。
如图2-16所示,这个功能用于需要在多个文件之间来回切换的场景,如阅读代码或者调试代码的时候,使用这个功能可以让Debug操作更加行云流水。
图2-16 最近查看过的文件视图
在图2-16所示的情况下,再次按Ctrl+E快捷键可以切换到最近修改过的文件视图中。
全局查找/替换
快捷键:Ctrl+Shift+F/R。
如图2-17所示,可以调出全局查找/替换对话框,按项目、模块、目录及自定义范围进行查找或替换。这个功能非常适合查看某个关键字出现的位置,或者统一替换某个关键字等情况。
图2-17 全局查找/替换对话框
随心搜
快捷键:双击Shift键。
正如它的名字——随心搜,你可以随时随地(在Intellij IDEA的任何界面)发起搜索,如图2-18所示。
图2-18 随心搜
在图2-18所示的情况下,再次双击Shift键,就可以搜索项目以外(引用的第三方Jar包)的内容了。
Surround With
快捷键:Ctrl+Alt+T。
Surround With效果如图2-19所示。我们不需要对Surround With进行过多的介绍。它可以一键生成常用代码样板,只要用过它的都说好。
图2-19 Surround With效果
问题狙击手
这是一套“组合拳”,需要两步。
1.按F2键定位问题。
2.按Alt+Enter快捷键解决问题。
如图2-20所示,在代码编辑区内,如果文件内有错误(报红)或者警告(报黄),那么按F2键可以快速定位到问题的位置,然后按Alt+Enter快捷键就可以快速修复问题。
图2-20 问题狙击手
花式Debug
Debug是程序员的日常操作。如果程序员掌握了一些技巧,就可以快速定位与解决问题。Intellij IDEA的调试功能很丰富,下面介绍条件断点让大家感受一下。
在一般情况下,普通断点可以满足我们的需要,但是如果你需要调试一个循环中的代码,并且这个循环数很大,例如:
当需要调试value值为50时,我们肯定不能一遍一遍地进行“傻瓜式”的调试,这时候就需要用到条件断点了。其用法很简单,只需要在普通断点上面右击一下,就会弹出条件输入框,然后输入value==50即可,如图2-21所示。
图2-21 使用条件断点
这样,当value值为50的时候,断点才会生效,非常好用。
其他功能,如运行到光标处、执行到指定行号、执行表达式等需要自己多尝试一下。表2-1展示了Debug相关的快捷键及其功能描述。
表2-1 Debug相关的快捷键及其功能描述
续表
自动写代码
我们经常开玩笑地说:“支付宝,你已经是一个成熟的软件了,应该学会自己还花呗了!”但是我们只能想象一下,想让支付宝自己还花呗是不可能的,阿里巴巴公司也不会答应。不过,Intellij IDEA就不一样了,它不仅是一个成熟的IDE,还慢慢学会了自己写代码。
Intellij IDEA有两个功能用于实现自动写代码——Live Template和PostFix。
先介绍Live Template,比如,我们输入psvm后按Tab键,Intellij IDEA就会自动生成main方法,如图2-22所示。
图2-22 自动生成main方法
再如,我们输入sout后按Tab键,Intellij IDEA就会自动生成打印语句,如图2-23所示。
图2-23 自动生成打印语句
接下来介绍PostFix,比如,我们想迭代一个名称为list的列表对象,输入list.for后按Tab键,Intellij IDEA就会自动生成列表的迭代代码,如图2-24所示。
图2-24 自动生成列表的迭代代码
Intellij IDEA中内置了很多常用的Live Template和PostFix。我们可以到设置面板中查看它们,查看路径分别是Settings→Editor→Live Template和Settings→Editor→General→PostFix Completion。当然,你也可以根据自己的喜好创建自定义的Live Template和PostFix。
重构
Intellij IDEA的重构功能也很强大,下面简单展示一下变量重命名。首先将光标定位到需要重命名的变量处,然后按Shift+F6快捷键,那么所有该变量出现的地方都会被高亮显示,如图2-25所示。
图2-25 重命名
这时候,我们将该变量修改成想要的名称,然后按Enter键,这个变量的名称就会全部变成新的名称。Intellij IDEA还有很多更强大的重构功能,最常用的重构快捷键如下。
· Shift+F6:重命名
· Ctrl+Alt+V:抽取变量
· Ctrl+Alt+F:抽取字段
· Ctrl+Alt+P:抽取参数
· Ctrl+Alt+C:抽取常量
· Ctrl+Alt+M:抽取方法
此处就不一一讲解重构功能了。在实际使用中细细体会,你会爱上重构功能的。
2.3.3 插件
虽然Intellij IDEA的功能已经非常强大了,但是仍然具有开放的特性,支持通过第三方插件的方式来增强它的功能。下面简单列举一下我必须安装的插件。
Alibaba Java Coding Guidelines
按照《阿里巴巴Java开发手册》中的编码规范检查代码并给出修改建议。
Codota
Intellij IDEA的自动补全功能已经很强大了,用了Codota会更强大。
Lombok
可以省去烦人的Getter/Setter,当然功能远不止于此。
Maven Helper
Maven的好帮手,解决依赖冲突的“利器”。
MyBatis Log Plugin
可以打印出可执行的(自动将“?”替换成具体的参数)SQL语句,非常好用。
MyBatisX
可以直接通过Java代码跳转到MyBatis的Mapper.xml中对应的SQL语句,也可以使用Free MyBatis Plugin。
Rainbow Brackets
让括号拥有不同的颜色。