作者:@程序百脑(modengdayuan)

0001.png

大家好,我是BeiMoo
我利用晚上和早起的这会时间总结了这篇 IDEA 高效使用教程 。希望对大家有帮助!
本文分为下面 4 部分内容:

  1. IDEA 高效设置指南
  2. 必备的一些插件推荐
  3. 主题优化
  4. IDEA 源码阅读技巧

    01 高效设置

    我们先来讲讲有哪些设置调整之后 IDEA 会更好用。先说明一点:这里只是根据我个人喜好和习惯的建议,IDEA 的默认配置已经很好用了,具体要不要修改还是要看个人喜好和习惯了。

    调整窗口字体显示大小

    巨好用的一个功能!强烈安利!
    勾选上 Preferences / Settings | Editor | General 下的 Change font size with Command + Mouse Wheel 选项之后,我们就可以直接使用 ⌘+鼠标滚轮(Mac)/ Ctrl+鼠标滚轮(Windows&Linux)来更改窗口字体的大小
    0002.png

    字体设置

    修改 Preferences / Settings | Editor | Font 选项下的字体设置,字体推荐使用 JetBrains Mono ,字体大小建议 16/18,根据个人需要选择是否需要开启连字。
    0003.png
    连字开启之后,代码可读性会更强。
    image.png

    配置类注释模板

    修改 Preferences / Settings | Editor | File adn Code Templates 下的 Class 和 Enum 的模板。
    004.png
    我的日常项目的类注释模板配置为: ```java /**
    • 抖音搜索 “北陌寒” 点赞➕关注 持续分享更多好用技术
    • @author 北陌寒
    • @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE} **/ public class ${NAME} { }
  1. <a name="L4cd7"></a>
  2. ### 优化 Live Templates
  3. IDEA 自带的编码模板我们平时在编码的时候就会经常用到,不知道大家有没有注意。就比如说你输入一个 sout 就可以直接输出一行输出语句 System.out.println(); 。<br />![005.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867131272-d1437b45-23b1-4cd9-9489-ed89bafb19fc.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=566&id=u51393db9&margin=%5Bobject%20Object%5D&name=005.png&originHeight=1005&originWidth=1194&originalType=binary&ratio=1&rotation=0&showTitle=false&size=160556&status=done&style=none&taskId=u63be46e1-8788-47eb-947b-c35cd96d10d&title=&width=672)<br />你可以根据自己的习惯对 IDEA 自带的编码模板进行修改,并且,你还可以添加新的编码模板来提高编码速度。非常使用!
  4. <a name="jN0pG"></a>
  5. ### 全局设置 SDK
  6. 修改 _File -> New Projects Setup -> Structure...| Project_ 下的 Project SDK 选项,将其更改为你最常用的 Java 版本。<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867195629-71aeeefd-ebd5-4c74-a653-52a12b989242.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=458&id=u4c51f213&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1032&originWidth=1580&originalType=binary&ratio=1&rotation=0&showTitle=false&size=223912&status=done&style=none&taskId=ucd820481-4385-4dc7-b0a8-65c33033471&title=&width=701)<br />这样的话,你新导入的项目或者新建的项目都会默认使用这个版本的 SDK。
  7. <a name="GSOzv"></a>
  8. ### 自动导包&删除无用包
  9. 勾选上 _Preferences / Settings | Editor | General | Auto Import_ 下的指定选项即可!<br />![006.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867275308-a654bd58-b582-499a-9884-8a30a302905f.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=532&id=u3645ce1c&margin=%5Bobject%20Object%5D&name=006.png&originHeight=844&originWidth=1093&originalType=binary&ratio=1&rotation=0&showTitle=false&size=98668&status=done&style=none&taskId=ub85e93ea-4418-4ad1-9a88-ded970052f3&title=&width=688.5)<br />这样设置之后,IDEA 会自动帮你导包(唯一确定的时候才会生效)以及删除代码中没用到的包。
  10. <a name="oDZUh"></a>
  11. ### 显示方法分割线
  12. 勾选上 _Preferences / Settings | Editor | General | Appearance_ 下的 Show method separators 选项之后,方法分割线就有了,这会小幅提高代码的可读性。<br />![007.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867355139-426f236d-de8e-4335-965d-29b4914c9d36.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=505&id=ua5c1e29c&margin=%5Bobject%20Object%5D&name=007.png&originHeight=886&originWidth=1216&originalType=binary&ratio=1&rotation=0&showTitle=false&size=99206&status=done&style=none&taskId=uec7a77a6-7968-4665-a2bf-1489fd0a9c8&title=&width=693)
  13. <a name="koaYg"></a>
  14. ## 02 必备插件
  15. 好用的插件太多了,我这里只推荐 6 个我最常用的 IDEA 插件。更多插件推荐可以看我写的[《IDEA专题》](https://link.juejin.cn/?target=https%3A%2F%2Fmp.weixin.qq.com%2Fmp%2Fappmsgalbum%3F__biz%3DMzg2OTA0Njk0OA%3D%3D%26action%3Dgetalbum%26album_id%3D1319419426898329600%26scene%3D173%26from_msgid%3D2247505133%26from_itemidx%3D1%26count%3D3%26nolastread%3D1%23wechat_redirect)。
  16. <a name="m2A9i"></a>
  17. ### jclasslib :字节码查看神器
  18. 使用 jclasslib 不光可以直观地查看某个类对应的字节码文件,还可以查看类的基本信息、常量池、接口、属性、函数等信息。<br />![008.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867489140-37ff66b6-9a1d-440a-955a-e2e644efe53f.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=388&id=u87bfaa4d&margin=%5Bobject%20Object%5D&name=008.png&originHeight=1188&originWidth=2164&originalType=binary&ratio=1&rotation=0&showTitle=false&size=246270&status=done&style=none&taskId=u293be895-68a2-47a6-ac12-25f5310fd28&title=&width=707)
  19. <a name="iNCGR"></a>
  20. ### Tabnine:基于 AI 的代码提示
  21. Tabnine 的前身是大名鼎鼎的 Codota。我一直在用的一个插件,可以说非常好用了。<br />Tabnine 这个插件用于智能代码补全,它基于数百万 Java 程序,能够根据程序上下文提示补全代码。Tabnine 和 IDEA 自带的智能提示两者互补。<br />如果你觉得 IDEA 插件安装的太多比较卡顿的话,不用担心!Tabnine 插件还有一个对应的在线网站,在这个网站上你可以根据代码关键字搜索相关代码示例,非常不错!网站地址:[www.tabnine.com/](https://link.juejin.cn/?target=https%3A%2F%2Fwww.tabnine.com%2F) 。<br />![009.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867562269-c6da2a9e-62c5-43b9-9e83-4e6e8322e1bf.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=585&id=ud12eeeaa&margin=%5Bobject%20Object%5D&name=009.png&originHeight=1016&originWidth=1219&originalType=binary&ratio=1&rotation=0&showTitle=false&size=216400&status=done&style=none&taskId=uab0ad896-130f-4cd4-89f7-a1ee5d74fe5&title=&width=701.5)
  22. <a name="Cs2sm"></a>
  23. ### Key Promoter X:快捷键提示
  24. 这个插件的功能主要是**在你本可以使用快捷键操作的地方提醒你用快捷键操作。**<br />举个例子。我直接点击 tab 栏下的菜单打开 Version Control(版本控制) 的话,这个插件就会提示你可以用快捷键 command+9或者shift+command+9打开。如下图所示。<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867598948-b220fce4-75bb-4bf9-ba58-62ca6b6fbe49.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=431&id=u47c11635&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1940&originWidth=3196&originalType=binary&ratio=1&rotation=0&showTitle=false&size=393306&status=done&style=none&taskId=ua5517035-b9bf-42e6-a6c6-10616a4acad&title=&width=710)<br />它还可以展示出哪些快捷键你忘记使用的次数最多!<br />![010.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867654191-09187a2d-9fda-4e5e-ab48-b1b5e06d8df7.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=370&id=u29894392&margin=%5Bobject%20Object%5D&name=010.png&originHeight=1248&originWidth=2414&originalType=binary&ratio=1&rotation=0&showTitle=false&size=305839&status=done&style=none&taskId=u51552649-e583-4a70-8b11-7e7a5b3bf69&title=&width=716)
  25. <a name="CrS3M"></a>
  26. ### Alibaba Java Code Guidelines:阿里巴巴 Java 代码规范
  27. 阿里巴巴 Java 代码规范,对应的 Github 地址为:[github.com/alibaba/p3c…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Falibaba%2Fp3c) 。非常推荐安装!<br />安装完成之后建议将与语言替换成中文,提示更加友好一点。<br />![011.png](https://cdn.nlark.com/yuque/0/2022/png/8407689/1641867733500-975f5a59-7eb0-41bf-9b62-2ff8fd4c83b7.png#clientId=u25fea5ad-4bbe-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=309&id=u18fc4d0c&margin=%5Bobject%20Object%5D&name=011.png&originHeight=1090&originWidth=2568&originalType=binary&ratio=1&rotation=0&showTitle=false&size=820241&status=done&style=none&taskId=u815cd356-df76-4108-be93-c48f0de7b9f&title=&width=729)<br />根据官方描述:

目前这个插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection (opens new window)实现了实时检测功能。 部分规则实现了 Quick Fix 功能,对于可以提供 Quick Fix 但没有提供的,我们会尽快实现, 也欢迎有兴趣的同学加入进来一起努力。目前插件检测有两种模式:实时检测、手动触发。 ``` 上述提到的开发手册也就是在 Java 开发领域赫赫有名的《阿里巴巴 Java 开发手册》。
这个插件会实时检测出我们的代码不匹配它的规则的地方,并且会给出修改建议。比如我们按照下面的方式去创建线程池的话,这个插件就会帮我们检测出来,如下图所示。
012.png

SequenceDiagram:一键生成时序图

通过 SequenceDiagram 这个插件,我们一键可以生成时序图。 并且,你还可以:

  1. 点击时序图中的类/方法即可跳转到对应的地方。
  2. 从时序图中删除对应的类或者方法。
  3. 将生成的时序图导出为 PNG 图片格式。

iShot2022-01-11 10.34.17.png

Save Actions:优化文件保存

这个插件可以帮助我们在保存文件的时候:

  1. 优化导入;
  2. 格式化代码;
  3. 执行一些 quick fix
  4. ……

    Rainbow Brackets : 彩虹括号

    使用各种鲜明的颜色来展示你的括号,效果图如下。可以看出代码层级变得更加清晰了,可以说非常实用友好了!
    014.png

    03 主题优化

    这几款 IDEA 主题也太好看了吧!!这篇文章中,我精选了几个比较适合 Java 编码的 IDEA 主题供小伙伴们选择(我自己用的是 One Dark theme 这款)。
    015.png
    挺难受的,本着一片好意发这篇文章,结果还被喷了,很多小伙伴说我审美不行,还有一些小伙伴说花里胡哨的,没有原本自带的主题好看。
    萝卜白菜各有所爱吧!保持一个包容的心态不是很难吧?你可以不装任何插件,但不要认为别人装插件就是多余,IDEA 的插件就是 IDEA 的一大灵魂所在,这点事无法否认的事实。

    04 IDEA 源码阅读技巧

    真香!用 IDEA 神器看源码,效率真高! 这篇文章中,我介绍了自己平时看源码的时候常用的快捷键/小技巧!非常好用!
    016.png
    掌握这些快捷键/小技巧,使用 IDEA 看源码的效率提升一个等级!