16. Codota 插件
Codota 插件可以根据使用频率优先显示较常用的类和方法。然而,是否使用该插件取决于个人的偏好。有时工具只能作为参考,仍然需要依靠个人记忆来确保准确性。
17. 快速查看类和字段的注释
按下 F2
键可以快速查看某个类或字段的文档注释。这是一个非常有用的小技巧。不仅在 IntelliJ IDEA 中可以实现这个功能,其他 IDE 通常也可以快速查看文档注释内容。这也是为什么阿里编码规范中明确要求实体类字段要使用文档注释而不是双斜杠 //
注释的原因。我记得刚开始看到这个规范时也很困惑,特意去百度搜索,有人说这只是个习惯问题,显然这并不令人信服。直到发现可以通过按下 F2
快速查看文档注释后,我恍然大悟!
18. 括号颜色区分
使用 "Rainbow Brackets" 插件可以使成对的括号使用不同的颜色进行区分。
19. 将不同的微服务项目添加到同一个启动窗口
按照以下步骤可以将不同的微服务项目添加到同一个启动窗口:
-
打开 "View" 菜单。
-
选择 "Tool Windows"。
-
选择 "Services"。
-
点击 "Add Services"。
20. IntelliJ IDEA 全局设置(打开新窗口的设置)
例如,当我们打开新窗口时,Maven 配置会恢复,这时需要修改打开新窗口的设置以达到全局的效果。在较低版本的 IntelliJ IDEA 中,全局设置可以在 "File" 菜单下找到,例如在 IntelliJ IDEA 2018 中,可以在 "Other Settings" 中进行设置。
21. Java Mapper 层代码文件和 Mapper.xml 文件相互跳转
使用 "Free MyBatis" 插件可以实现 Mapper 层代码文件和 Mapper.xml 文件之间的相互跳转。只需点击绿色箭头,即可快速跳转,非常方便。
22. 设置 IntelliJ IDEA 背景图片
使用 "BackgroundImage" 插件可以设置喜欢的图片作为 IntelliJ IDEA 的背景图,让编辑环境更加个性化。
23. Maven Tree(查看 Maven Jar 包依赖关系、解决依赖冲突)
当使用 mvn dependency:tree
命令查看 Maven Jar 包依赖关系时,结果通常以文本形式展示,不太方便查看。为了更好地解决依赖冲突,我们可以将输出结果复制到文本编辑器中手动搜索依赖链路。
另外,我们还可以在 IntelliJ IDEA 的右上角点击 "Show Dependencies" 按钮,以图片形式展示依赖关系。在图片中,按住 Ctrl
键并滚动鼠标滚轮可以进行放大。这对于排除依赖冲突(冲突时会标红)和查看 Jar 包来源非常有用。
如果您在 IntelliJ IDEA 中看不到 "Show Dependencies" 按钮,请点击设置菜单,并勾选相应选项以显示该按钮。
24. 快捷键切换回上一个点击开的 Tab
当我们打开了多个 Tab 时,想要快速回到上一个点击开的 Tab 可能很困难。为了解决这个问题,可以使用快捷键 Alt + ←
(对应 Eclipse 快捷键,对于 IntelliJ IDEA 默认的快捷键需要自测)。如果在后面的 Tab 编辑了内容,可能需要多按几次。同样,Alt + →
可以切换到下一个点击开的 Tab。这个快捷键的常见应用场景包括在 Debug 时发生类跳转,以及在其他类中使用快捷键创建方法。
即使两个 Tab 不相邻,也可以使用该快捷键切换回去。
25. IntelliJ IDEA 自带的 SSH 连接工具
IntelliJ IDEA 自带了一个 SSH 连接工具,可以方便地进行 SSH 连接操作。类似的,IntelliJ IDEA 还有自带的数据库连接工具,但是视图界面不如 Navicat 等专业工具,所以很多人选择使用专业工具。
使用 IntelliJ IDEA 自带的 SSH 连接工具的步骤如下:
-
配置账号和密码。
-
开启 SSH 会话。
26. 代码调用链路图插件
使用 "SequenceDiagram" 插件可以生成代码的调用链路图。这是对第13点的上位替代方案。IntelliJ IDEA 自带的快捷键可以查看代码调用,但以菜单形式展示,不够直观。如果是自己写的代码或者是规范的代码,使用自带的功能就足够了。但如果是复杂的源码或者不规范的代码,使用 "SequenceDiagram" 插件会更加直观。
在要查看的 Java 文件上右键点击,选择 "Sequence Diagram",即可生成相应的调用链路图。
效果示例:
[示例图片]
27. 获取当前线程的 Dump
在断点调试的时候,可以通过点击调试工具栏中的相机图标来获取当前线程的 Dump 信息。这个功能可以通过线程名来分析当前是哪个线程在执行,对于多线程环境下的代码运行分析很有帮助。
例如,当使用 run()
方法执行时,可以看到是通过 main
主线程执行的。这只是方法调用,并没有启动新的线程。当我们将 run()
方法改成 start()
方法时,可以看到是 thread0
线程执行的。
28. IntelliJ IDEA 同一项目不同端口多开
这是一个非常实用的功能,可以用于模拟集群测试负载均衡。在开发阶段,如果需要让别人直接连接自己的本地进行测试,也非常方便。如果想要在调试时打断点,又不影响其他人,那么多开的功能就发挥作用了。
有一种方法是勾选 "Allow parallel run"(不同版本的 IntelliJ IDEA 名称可能不一样),但在某些情况下,会同时在相同的端口上启动多个实例,可能是版本或操作问题。这里介绍另一种有效的方法:在 VM options 中添加 -Dserver.port=8993
,其中 8993
是与 application.yml
配置中的 port
不同的另一个端口,以实现不同端口的多开效果。
29. 给代码添加书签
可以给代码添加书签,以便快速定位和访问特定的代码块。右键点击代码区域,选择 "Add Bookmark" 即可完成书签添加。
可以在左下角的 "Favorites" 中找到 "Bookmarks",右键点击书签可以进行重命名。
看到这里,大家应该明白书签的一个使用场景就是源码阅读。
30. 单词翻译插件
使用 "Translation" 插件可以进行单词翻译。在插件市场中搜索 "translation" 并下载安目前默认的是谷歌引擎(不知道后续作者会不会改) ,但是谷歌翻译已经在大陆停用了 所以我们要手动设置一下, 设置路径为Tools - Translation - 翻译引擎
使用方法: 选中我们需要翻译的单词,鼠标右键 选中Translate
效果如图:
31. 查看字节码
当需要深入分析问题并查看字节码层面时,这通常意味着面对一些 Java 中的复杂问题。例如,在之前提到的博客中,涉及到将函数(function)转换为 String 格式的问题,只有通过查看字节码才能理解其原理,源代码是无法直接得知的。
在 IntelliJ IDEA 中,我们可以通过以下步骤来查看字节码:选择一个 Java 类,然后依次点击 "View" --> "Show Bytecode"(适用于 IntelliJ IDEA 2021.1 及更高版本)。请注意,对于较旧的 IntelliJ IDEA 版本,可能没有此功能。但是,无论如何,我会尽力帮助您。
32. Maven Helper 插件解决依赖冲突
在第23点中,提到了使用 "mvn dependency:tree" 命令来分析 Maven 依赖冲突。然而,后来发现 Maven Helper 插件也能很好地解决这个问题,而且它似乎更加方便易用(虽然我个人更倾向于使用 "mvn dependency:tree")。
首先,我们需要安装 Maven Helper 插件。然后,打开项目的 pom.xml 文件,在底部会出现一个名为 "Dependency Analyzer" 的选项。点击它。
在点击后,我们会看到列出了存在冲突的依赖包。
让我们以 commons-logging 依赖为例进行分析。点击 commons-logging,在右侧会列出引入了 commons-logging 的这些依赖项。
现在,我们只需右键单击右侧依赖项位置,即可查看冲突的版本信息。