提升开发效率的IDEA插件与功能设置及技巧
在Java开发中,良好的开发环境配置和工具使用可以大大提高开发效率。IDEA作为目前最流行的Java开发工具,其丰富的插件和功能为开发者提供了不少便利。本文将分享如何通过IDEA的功能配置和插件使用来提升编码效率和质量。
一、IDEA 快捷键与操作技巧
在日常开发中,IDEA提供了许多快捷键和操作技巧,可以极大提高编码效率。以下是一些实用的快捷键和操作,帮助你更高效地进行开发和调试。
1. 查看代码历史版本
如果你需要查看某个Java类的历史版本,可以通过以下操作快速实现:
- 右键点击需要查看历史的类文件。
- 选择 Local History > Show History。
通过该功能,你可以看到该文件的修改历史,特别适合恢复丢失的代码或查看近期的修改内容。请注意,Local History 只能查看最近的修改,较长时间的历史版本可能无法访问。
2. 快速匹配方法的大括号位置
有时候我们在查找某个方法的起始和结束大括号时可能会感到困难,特别是方法较长时。你可以使用以下快捷键来快速跳转到方法的大括号位置:
- Ctrl + [:跳转到方法的起始大括号。
- Ctrl + ]:跳转到方法的结束大括号。
这个快捷键结合方法分隔符的使用,非常有助于快速定位方法的范围。
3. 代码结尾补全
在编码过程中,我们经常需要补全一些语法内容,比如分号或大括号。IDEA提供了一个非常实用的快捷键:
- Ctrl + Shift + Enter:在你写完一行代码后,按下此快捷键,IDEA会自动补全语句结尾,避免你手动添加分号或者大括号,极大提升编码效率。
4. 模糊搜索方法
如果你想快速找到一个方法,可以使用模糊搜索来帮助你定位。例如,在People
类中查找test
方法,可以使用快捷键:
- Ctrl + Shift + Alt + N,输入Coach.coachName 来快速查找方法。
如果你觉得这个快捷键不方便记住,也可以使用以下步骤:
- Ctrl + Shift + R:查找文件名,然后手动选择 Symbols 标签进行搜索。
5. 预览某个类的代码
当你需要查看一个类的实现,但又不希望打开一个新的Tab来混乱你的工作空间时,可以使用以下快捷键:
- Ctrl + Shift + I:预览类的代码实现,避免打开新标签页,保持工作区整洁。
6. 查看方法在哪里被调用
有时我们需要查看某个方法在项目中被调用的地方,IDEA提供了一个快捷键来帮助快速查找:
- Ctrl + Alt + H:显示当前方法的调用层级,帮助你了解方法的调用关系,尤其在分析复杂代码时非常有用。
7. 使用代码模板(代码快捷键)
IDEA支持代码模板,可以帮助你快速生成一些常用的代码片段。例如,在IDEA中,sout
用于快速生成打印语句,类似于Eclipse中的syso
。你还可以通过 Postfix Completion 自定义更多代码模板,如fori
等。
8. IDEA全局设置(打开新窗口设置)
有时候,我们打开新窗口时,IDEA的配置可能会恢复成默认设置,例如Maven配置。如果你希望在打开新窗口时应用全局设置,可以通过以下方式进行配置:
- 或者有的在 File 菜单下找到 Other Settings,进行相关的配置调整。
9. 查看Maven依赖关系树
IDEA提供了一个图形化界面来查看Maven依赖关系。与命令行中 mvn dependency:tree
输出的文本信息不同,IDEA提供了更清晰的图形化展示,帮助你更直观地查看依赖关系,尤其在排查依赖冲突时非常有用。
若不显示可以在参考文末资料,有的idea版本不支持。
- 点击 Show Dependencies 按钮,查看Maven依赖的图形化展示。
10. 快捷键切换回上一个Tab
当你打开了多个Tab时,快速切换到之前访问的Tab会很有帮助。使用以下快捷键:
- Alt + ←:切换到上一个打开的Tab。
- Alt + →:切换到下一个打开的Tab。
通过这两个快捷键,你可以快速回到之前的编辑位置,避免在多个Tab之间迷失。
11. 获取当前线程Dump
在调试多线程代码时,查看当前线程的堆栈信息非常重要。IDEA提供了获取当前线程Dump的功能:
- 在调试模式下,点击IDEA界面上的相机图标,获取当前线程的Dump信息。
通过线程Dump,我们可以分析当前线程的执行状态,特别是在多线程环境下,帮助我们更好地理解程序的执行流程。
二、IDEA 配置
在使用 IntelliJ IDEA 开发时,有许多设置和技巧可以大大提升开发效率。无论是多开项目、调整虚拟内存,还是自定义快捷键,这些小技巧都能帮助你更轻松地应对日常开发工作。接下来,我们将一一介绍一些非常实用的 IDEA 设置,希望能对你有所帮助。
1. IDEA 同个项目不同端口多开
在开发过程中,尤其是微服务项目中,能够模拟集群或测试负载均衡是一项非常实用的功能。通过 IDEA 多开同个项目并使用不同端口,我们可以轻松地模拟这种场景。
使用场景:
- 集群模拟:测试负载均衡时,不同服务实例需要运行在不同端口。
- 本地测试与调试:开发过程中,允许其他人连接到你本地进行测试,但你又不想影响自己打断点进行调试。
解决方法:
很多人推荐使用 Allow parallel run(允许并行运行)功能,但我的经验是,某些版本的 IDEA 会导致每次启动时同端口启动多个实例,无法满足需求。这里提供另一种有效的方法:
- 在 VM options 中加上以下配置:
这样,你就能通过配置不同的端口,来启动多个实例。例如,-Dserver.port=8993
8993
是你自己设置的端口,它区别于application.yml
配置中的port
。
直接配置不同的 port启动多次,来达到启动相同项目不同端口的效果。
2. IDEA 自带的 SSH 连接工具
IDEA 内置的 SSH 工具非常方便,它允许你直接通过 IDEA 进行远程连接操作。你只需要在 IDEA 内配置好 SSH 连接,便能直接执行服务器上的命令,而无需切换到其他终端工具。
如果Tools没有,可以通过本文章中的顶部栏无Tools菜单 或者 以下方式进行开启
3. 设置 IDEA 背景图片
如果你喜欢个性化的开发环境,可以使用 BackgroundImage 插件设置一个自定义背景图。这样,每次打开 IDEA,你都可以享受一个独特的开发环境。
操作步骤:
- 安装并启用 BackgroundImage 插件。
- 在插件设置中选择你喜欢的图片作为背景,提升开发时的心情。
4. 将微服务项目添加到同一启动窗口
在微服务项目中,我们经常需要同时启动多个服务。IDEA 提供了将不同项目添加到同一个启动窗口的功能,这样可以避免反复切换窗口,提升开发效率。
操作步骤:
- 进入
View
->Tool Windows
->Services
。 - 点击
Add Services
,将所需的微服务添加到同一窗口,便于同时启动和管理。
5. 调整 IDEA 虚拟内存
为了提升 IDEA 的性能,尤其是当处理大型项目时,调整虚拟内存是非常有用的。我们可以通过以下方式来修改虚拟内存配置:
操作步骤:
- 在 IDEA 设置 中选择
Change Memory Settings
。 - (不推荐)在弹出的对话框中选择
Edit Custom VM Options
来手动修改配置文件。
不推荐原因:通过某些非官方渠道下载的 IDEA 版本,可能会存在无法打开的情况,建议使用官方版本并调整内存设置。
6. 将 IDEA 设置成 Eclipse 的快捷键
对于曾经使用 Eclipse 的开发人员,切换到 IDEA 后可能会感到不适应。为了减少学习新快捷键的成本,我们可以将 IDEA 的快捷键配置成类似 Eclipse 的快捷键。
操作步骤:
- 进入
File
->Settings
->Keymap
。 - 选择 Eclipse 配置方案,这样所有的快捷键都会变得更加熟悉。
7. 设置提示词忽略大小写
有时我们输入代码时,可能并不在意大小写,但是 IDEA 默认会对大小写敏感。为了让提示词不受大小写影响,可以关闭这个功能。
操作步骤:
- 在
File
->Settings
->Editor
->General
->Code Completion
中,取消勾选 "Case sensitive completion"。
8. 显示方法分隔符
在大型项目中,尤其是代码不规范的情况下,查看方法与方法之间的间隔非常重要。通过启用方法分隔符,你可以更清晰地看到各个方法的分隔。
操作步骤:
- 进入
File
->Settings
->Editor
->General
。 - 找到
Show method separator
选项并勾选它。
9. 设置多行 Tab
如果你常常打开多个文件,默认的单行 tab 显得有些拥挤。你可以将 IDEA 设置为显示多行 tab,这样可以让你更方便地切换文件。
操作步骤:
- 在
Settings
->Editor
->General
中,找到Editor Tabs
,取消勾选Show single row
选项。 - 这样就可以将文件的 tab 显示为多行,避免文件过多时显示不全。
自动关闭过多的 tab:
在打开过多 tab 时,IDEA 会自动关闭最早的几个 tab。你只需要在
Settings
->Editor
->General
->Editor Tabs
中设置Tab limit
的数值即可。
10. 滑轮自动缩放字体和类包自动导入
在 IDEA 中,你可以通过 滑轮 来自动缩放字体,此外,IDEA 还支持类包的自动导入功能,可以减少你手动管理导入包的时间。
设置方法:
- 进入
File
->Settings
->Editor
->General
->Auto Import
,勾选Optimize imports on the fly
和Add unambiguous imports on the fly
。
11. 新建类时自动添加注释
为了提高代码的文档化水平,可以在新建类时,自动为类添加注释信息。这样,开发过程中你不需要手动编写每个类的注释,提升工作效率。
操作步骤:
- 进入
File
->Settings
->Editor
->File and Code Templates
。 - 选择 Class 模板,并编辑内容,添加注释模板:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") /** * ${description} * @author ${USER} * @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE} **/ public class ${NAME} { }
12. 自定义代码片段
使用 Live Templates 功能,你可以定义常用的代码片段,快速插入到代码中。比如,设置一个 for-each 循环模板,极大地提高输入效率。
操作步骤:
- 进入
File
->Settings
->Editor
->Live Templates
,创建新的代码片段。 - 比如创建一个 for-each 循环片段:
for (String ${var} : ${collection}) { ${END} }
13. 顶部栏无 Tools 菜单
有些开发者希望去掉顶部栏中的 Tools 菜单。你可以通过设置来移除它。
操作步骤:
- 进入
Settings
->Appearance & Behavior
->Menus and Toolbars
。 - 从中删除或调整 Tools 菜单的显示。
三、 IDA 插件
常用开发辅助插件
这些插件可以帮助提高开发效率、自动化任务并简化代码编写。
1. MyBatis Generator
- 功能:通过右键点击数据库生成MyBatis的配置文件,自动生成实体类和Mapper文件。
- 应用场景:适用于开发使用MyBatis的项目,能有效减少配置文件的编写时间。
2. JRebel
- 功能:支持Java应用的热重启,无需重新启动服务器即可看到代码的更改。
- 应用场景:特别适合开发阶段需要频繁修改代码并即时查看效果的开发人员。
3. Lombok
- 功能:自动生成POJO类的getter/setter、构造方法等,减少样板代码。
- 应用场景:用来简化POJO类的编写,尤其是数据模型类。
4. Free Mybatis Plugin
- 功能:通过mapper接口里的方法跳转到mapper.xml。
- 应用场景:提升MyBatis的开发效率,Mapper接口到XML的跳转。
5. EasyCode
- 功能:自动生成MyBatis、Spring等框架的代码,减少手动编写的工作量。
- 应用场景:提高框架的快速开发能力,适合Spring与MyBatis结合使用的项目。
代码质量和Bug检测插件
这些插件专注于提升代码质量,发现潜在问题,确保代码的健壮性。
6. FindBugs
- 功能:自动检测Java代码中的潜在Bug,提高代码的健壮性。
- 应用场景:帮助开发人员在开发过程中实时检测潜在的代码缺陷。
7. Codota
- 功能:提供强大的代码自动补全功能,提升代码编写速度,支持Java等多种语言。
- 应用场景:加速开发过程,尤其在大型项目中通过智能提示减少错误。
8. IDEA QAPlug
- 功能:帮助开发人员提前发现潜在的Bug和问题。
- 应用场景:用于团队开发时进行代码质量保障,提前捕获潜在的运行时错误。
界面与体验增强插件
这些插件注重提升开发者的用户体验和代码可读性。
9. Rainbow Brackets
- 功能:为代码中的括号添加不同的颜色,便于查看代码结构。
- 应用场景:帮助开发者快速定位代码中的括号配对,尤其是在复杂的嵌套代码中。
10. Material Theme UI
- 功能:为IDEA提供不同的主题样式,可以让界面更加美观和现代化。
- 应用场景:为IDEA用户提供更优雅的界面,提升开发的舒适度。
11. CodeGlance
- 功能:在IDEA中显示代码的缩略图,帮助快速定位和浏览代码区域。
- 应用场景:帮助开发者快速跳转到需要的代码区域,提升代码导航效率。
代码生成与自动化插件
这些插件专注于自动生成代码,减少重复性工作,提高开发效率。
12. JUnitGenerator
- 功能:快速生成JUnit测试类,减少手动编写测试的时间。
- 应用场景:提高单元测试的编写效率,适用于TDD(测试驱动开发)过程中的代码生成。
13. SequenceDiagram
- 功能:自动生成调用链路的时序图,帮助分析代码流程。
- 应用场景:在调试复杂的代码逻辑时,使用时序图帮助可视化调用关系。
14. RoboPOJOGenerator
- 功能:根据JSON数据自动生成POJO类。
- 应用场景:适用于与JSON数据交互的项目,快速生成数据模型类。
15. GenerateO2O
- 功能:自动填充Java方法的参数值,减少手动输入的工作。
- 应用场景:在调用方法时,快速生成正确的参数。
16. GenerateAllSetter
- 功能:自动调用所有Setter函数,适用于需要批量设置属性的情况。
- 应用场景:在编写大量的Java POJO类时,快速生成Setter方法。
alt+enter
代码格式与规范插件
这些插件帮助开发者自动规范代码格式,保证代码的一致性。
17. google-java-format
- 功能:自动格式化Java代码,保持代码的一致性。
- 应用场景:确保项目中的代码风格统一,避免格式化不一致的问题。
18. HighlightBracketPair
- 功能:高亮显示括号配对的开始和结尾位置。
- 应用场景:帮助开发者快速定位括号配对,尤其是在长方法或类中。
19. Alibaba Java Code Guidelines
- 功能:检测代码是否符合阿里巴巴Java开发手册的规范,并提供建议。
- 应用场景:在团队开发中确保代码风格的一致性,遵循行业最佳实践。
其他实用插件
这些插件提供了一些特殊的功能,适用于特定的开发场景。
20. Translation
- 功能:在IDEA中提供翻译功能,帮助开发者快速理解外文文档或源码。
- 应用场景:在阅读英文文档或外部源码时,实时获取翻译内容,提升理解效率。
21. RestfulToolkit、RestfulTool
- 这是两个插件,为了调试restful接口
- 功能:快速生成和查看Restful API请求。
- 应用场景:当你需要与Restful API进行交互时,帮助你快速构建请求并查看响应。
22. Stack Trace to UML
- 功能:根据JVM的异常堆栈信息自动生成UML时序图和通信图。
- 应用场景:通过异常堆栈信息生成UML图,帮助开发者理解程序的运行状态及异常原因。
23. ApiPost
- 功能:用于接口测试,通过ApiPost插件识别,可以直接测试或上传至ApiPost客户端测试。
- 应用场景:用来生成接口测试以及通过ApiPost生成客户端。
24. Database Navigator
- 功能:通过idea连接数据库。
- 应用场景:通过idea连接数据库,配合mybatis generator右键生成对应的Mybatis文件。
调试与性能优化插件
这些插件专注于提升调试效率并帮助优化代码性能。
25. Java Stream Debugger
- 功能:将Java Stream的操作步骤可视化,帮助调试Stream流的过程。
- 应用场景:当使用Stream API时,可以可视化各个操作步骤,帮助排查问题。
26. Maven Helper
- 功能:帮助解决Maven项目中的Jar包冲突。
- 应用场景:在多模块或复杂依赖的项目中,帮助管理依赖冲突,确保项目构建无误。
27. jclasslib Bytecode Viewer
- 功能:查看Java字节码,帮助分析和理解类的内部实现。
- 应用场景:调试或研究Java字节码时,快速查看类的字节码内容,帮助理解JVM如何执行字节码。
总结
以上列出的插件涵盖了开发过程中各个环节的需求:从自动生成代码到提升代码质量,再到优化开发环境的用户体验。使用这些插件不仅能提升开发效率,还能帮助你在复杂项目中保持代码的一致性和规范性。根据你的实际需求选择合适的插件,能够事半功倍。
如果你有更多插件推荐或者对某个插件有疑问,欢迎留言讨论!
参考:
30 款 IDEA 宝贝插件,yyds!
28个天花板级别的IDEA使用技巧,yyds! IDEA查看maven的依赖树_idea maven依赖树-优快云博客