简介:这份资源面向使用 IntelliJ IDEA 的 Java 开发者,尤其适合刚接触 IDEA 或希望从 Eclipse 迁移过来、想系统梳理常用配置的人群,覆盖 2020.1.4 与 2022.2 两个版本。内容围绕插件推荐、编码与字体设置、自动导包、自动编译、热部署、自定义缩写、快捷键与列模式编辑、界面优化以及配置导入导出等常见场景展开,并附有未使用字段警告等常见问题的处理思路。资源包为 1 个 docx 文档,约 1.02MB,以文字条目形式整理配置项与操作路径,便于按需检索和对照设置。目前已有 479 人学习下载,可作为日常开发环境搭建与效率优化的参考清单,帮助读者减少重复配置时间,快速形成适合自身习惯的 IDEA 工作环境。
1. 从一台新装的 IDEA 说起:为什么你的 2020.1.4 和 2022.2 配置总对不上
每次换电脑或者升级 IDEA,最烦的不是装软件,而是把顺手的配置再摸一遍。尤其是团队里有人用 2020.1.4,有人用 2022.2,同一个设置项在两个版本里藏的位置不一样,截图发过去对方找不到,最后只能远程连过去帮人点。这份笔记就是解决这个问题的:它把 IntelliJ IDEA 从下载、插件、编码、字体、自动导包、热部署到快捷键的配置路径全部对齐到 2020.1.4 和 2022.2 两个版本,凡是版本间有差异的地方都标出来。适合刚换 IDE 的 Java 后端、需要统一团队开发环境的 Tech Lead,以及被 MyBatis 日志和 Maven 依赖树折磨过的同学。下面按“装完先干什么 → 怎么配 → 哪里会翻车”的顺序拆。
2. 插件选型与安装:12 个常用插件到底解决什么问题
2.1 插件清单与版本兼容性判断
IDEA 的插件生态是它比 Eclipse 顺手的主要原因,但插件装多了启动慢、冲突多。下面这张表是我在 2020.1.4 和 2022.2 上反复装过、确认能用的组合,按“解决什么痛点”分类,而不是按字母排序。
| 插件名称 | 作用 | 适用场景 | 版本注意 |
|---|---|---|---|
| Vuesion Theme | 界面皮肤 | 长期盯屏幕,换深色护眼 | 两版本均兼容 |
| GitToolbox | Git 工具增强 | 行内显示 blame、提交提醒 | 2022.2 需 2022.1+ |
| Maven Helper | 依赖树分析 | 排查 jar 冲突 | 两版本均兼容 |
| Search in Repository | 查 Maven 坐标 | 不知道 groupId 时 | 两版本均兼容 |
| Grep Console | 控制台日志着色 | 日志级别分色 | 两版本均兼容 |
| Lombok | 简化实体类 | 省 getter/setter | 需开 Annotation Processing |
| CodeGlance | 右侧代码缩略图 | 长文件快速定位 | 两版本均兼容 |
| Alibaba Java Coding Guidelines | 代码规范扫描 | 团队统一规范 | 两版本均兼容 |
| MyBatis LogFormat | MyBatis 日志拼完整 SQL | 调试 SQL | 2022.2 用 MyBatisX 替代 |
| Rainbow Brackets | 彩虹括号 | 嵌套深的代码 | 两版本均兼容 |
| RestfulToolkit | URL 反查 Controller | 接口调试 | 2022.2 用 Endpoints 替代 |
| MyBatis XML and DAO Jump | XML 与 DAO 互跳 | MyBatis 项目 | 2022.2 用 MyBatisX 替代 |
装插件的方式两个版本一致:File -> Settings -> Plugins,在 Marketplace 里搜名字,点 Install 后重启。离线环境用Install Plugin from Disk选本地 jar。
注意:2022.2 之后 JetBrains 把部分插件收编进官方功能,比如 RestfulToolkit 的 URL 搜索被 Endpoints 工具窗口取代,MyBatis 的 XML/DAO 跳转被 MyBatisX 接管。如果你在 2022.2 上装老版 RestfulToolkit,快捷键
CTRL+ALT+N可能不生效,需要去Keymap里手动绑。
2.2 Lombok 与 Annotation Processing 的联动配置
Lombok 是插件里最容易“装了没用”的一个。很多人装完发现@Data标了但 getter 还是红的,原因是没开注解处理器。步骤是:
# 路径:Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors # 勾选 Enable annotation processing # 2020.1.4 和 2022.2 路径一致,但 2022.2 多了 Processor path 选项逻辑说明:Lombok 靠编译期注解处理器生成字节码,IDEA 的编译器如果不开启这个开关,就只把@Data当普通注解,不会生成方法。参数上,Processor path留空表示用项目 classpath 里的 Lombok jar,如果团队用自定义处理器才需要填。
2.3 MyBatis 日志插件在两版本间的替换方案
MyBatis LogFormat 在 2020.1.4 上能把Preparing:和Parameters:两行拼成一条完整 SQL,调试时直接复制就能跑。但 2022.2 上这个插件已经停止维护,装上去控制台不输出。替代方案是 MyBatisX,它除了日志还有 XML/DAO 跳转和代码生成。
# 2020.1.4 配置 MyBatis LogFormat # Settings -> Other Settings -> MyBatis Log Plugin # 勾选 Enable,日志级别设为 DEBUG # 2022.2 配置 MyBatisX # Settings -> Other Settings -> MyBatisX # 开启 SQL Log 解析,效果与 LogFormat 类似参数说明:日志级别必须是 DEBUG,否则 MyBatis 不会打印Preparing行;MyBatisX 的 SQL 解析依赖控制台输出格式,如果项目用了自定义日志框架(比如 Logback 的 pattern 改了),解析可能失败,这时要回退到手动拼 SQL。
3. 编码、字体与自动导包:那些藏在 Settings 里的效率开关
3.1 File Encodings 的统一设置
编码乱码是换环境后第一个撞上的问题。路径是Settings -> Editor -> File Encodings,三个下拉框全部选 UTF-8:Global Encoding、Project Encoding、Default encoding for properties files。2020.1.4 和 2022.2 的界面完全一样,但 2022.2 多了一个Transparent native-to-ascii conversion勾选项,properties 文件里中文会显示成\uXXXX,勾上就能直接看中文。
# 建议同时改 VM options,防止控制台乱码 # Help -> Edit Custom VM Options -Dfile.encoding=UTF-8逻辑说明:IDEA 本身是 Java 写的,JVM 默认编码跟随系统,Windows 中文环境是 GBK,所以即使 IDE 里设了 UTF-8,控制台输出还是乱。加-Dfile.encoding=UTF-8强制 JVM 用 UTF-8,这一步在 2020.1.4 上尤其必要。
3.2 字体滚轮缩放与代码提示大小写
字体设置路径Settings -> Editor -> Font,2020.1.4 和 2022.2 都能勾Change font size with Ctrl+Mouse Wheel,勾上后按住 Ctrl 滚轮就能缩放编辑器字体。代码提示忽略大小写这个选项,原文说“去除勾选”,但实际测试下来,2022.2 的选项叫Match case,在Settings -> Editor -> General -> Code Completion里,取消勾选后输入string也能提示String。
# 自动导包路径:Settings -> Editor -> General -> Auto Import # 2020.1.4:勾选 Add unambiguous imports on the fly # 2022.2:同上,但多了 Optimize imports on the fly 的独立开关参数说明:Add unambiguous imports on the fly只对没有歧义的类生效,比如List只会导java.util.List;如果有两个同名类,IDEA 不会自动导,需要手动 Alt+Enter。复制代码时自动导包依赖这个开关,团队里如果有人没开,粘贴代码就会一堆红。
3.3 显示空格、换行符与行号
显示空格和换行符在Settings -> Editor -> General -> Appearance,勾Show whitespaces和Show line numbers。换行符改 Unix 格式在右下角状态栏点一下就能切,但批量改要在Settings -> Editor -> Code Style -> Line separator选Unix and macOS (\n)。2020.1.4 上这个设置对新文件生效,已有文件需要手动转换;2022.2 增加了Apply to all files的提示。
# 4 个空格代替 Tab:Settings -> Editor -> Code Style -> Java -> Tabs and Indents # Tab size: 4, Indent: 4, Continuation indent: 8 # 勾选 Use tab character 取消,表示用空格逻辑说明:团队协作时换行符不统一会导致 Git diff 整文件变红,Unix 格式是跨平台最稳的选择。4 个空格是 Java 社区惯例,Alibaba 规范也要求缩进 4 空格。
4. 热部署、快捷键与界面优化:从 Registry 到列模式
4.1 热部署的完整配置链路
热部署不是勾一个选项就完事,它依赖自动编译 + Registry 开关 + 项目配置三步。原文提到CTRL+SHIFT+ALT+/进 Registry,这个快捷键在 2020.1.4 和 2022.2 都能用,但 2022.2 的 Registry 界面多了搜索框。
# 第一步:开启自动编译 # Settings -> Build, Execution, Deployment -> Compiler # 勾选 Build project automatically # 第二步:Registry 开关 # CTRL+SHIFT+ALT+/ -> Registry # 勾选 compiler.automake.allow.when.app.running # 第三步:Spring Boot 项目加依赖 # pom.xml 加 spring-boot-devtools逻辑说明:compiler.automake.allow.when.app.running这个 key 控制 IDEA 在应用运行时是否允许自动编译,不开的话改了代码不会触发重启。spring-boot-devtools负责监听 classpath 变化并重启内嵌容器。参数上,devtools 默认排除META-INF/resources、static等静态资源,改这些不会重启。
注意:2022.2 之后 JetBrains 推荐用
Build project automatically+Allow auto-make to start even if developed application is currently running的组合,Registry 里的 key 名没变,但界面提示更明确。如果热部署不生效,先检查是不是用了 JRebel 之类的商业插件冲突。
4.2 模仿 Eclipse 的 Ctrl 快速访问列表
Eclipse 用户在类或方法上按住 Ctrl 会弹出“跳接口/跳实现/跳返回值”的菜单,IDEA 默认是直接跳转。要模仿这个行为,需要建 Quick Lists。
# 第一步:Settings -> Editor -> Quick Lists -> 点 + 新建 # 名字填 EclipseCtrl,添加三个 Action: # Goto Implementation (CTRL+ALT+B) # Goto Declaration (CTRL+B) # Goto Super Method (CTRL+U) # 第二步:Settings -> Keymap -> 搜 EclipseCtrl # 右键 Add Keyboard Shortcut,按下 CTRL+左键(鼠标快捷键用 Add Mouse Shortcut)参数说明:Quick Lists 本质是一个动作集合,绑定到快捷键后按住 Ctrl 点类名会弹出列表让你选。2020.1.4 和 2022.2 的 Quick Lists 入口都在Settings -> Editor下,但 2022.2 的 Keymap 搜索支持模糊匹配,输入eclipse就能找到。
4.3 列模式编辑与界面细节
列模式在批量改字段、加注释时很省事。标准列模式是ALT+按住左键下拉,不规则列模式是SHIFT+ALT+左键点击多个位置。2022.2 增加了Column Selection Mode的菜单开关,在Edit -> Column Selection Mode。
# 去掉右侧竖直虚线:Settings -> Editor -> General -> Appearance # 取消勾选 Show hard wrap guide (configured to 120) # 显示内存大小:双击 Shift 搜 show memory # 打开开关后右下角显示已用/总内存逻辑说明:右侧虚线是 120 字符换行提示,去掉后界面干净,但团队如果强制 120 列规范,建议保留。内存指示器在 2020.1.4 上默认关闭,2022.2 部分主题默认开启,搜show memory indicator就能切。
5. 避坑与常见问题:那些配置完还是不对的场景
5.1 自动导包开了但复制代码还是红
现象:Add unambiguous imports on the fly已勾选,从别处复制一段代码进来,List、Map还是红的。原因是复制进来的代码里类名有歧义,比如同时存在java.util.Date和java.sql.Date,IDEA 不敢自动导。解决方法是手动 Alt+Enter 选一次,之后同类名会记住。另外检查Optimize imports on the fly是否勾选,这个选项负责删除未使用的 import。
5.2 热部署改了代码没反应
现象:Registry 开关开了,devtools 也加了,改 Java 文件后应用没重启。原因通常是 IDEA 失去焦点才触发自动编译,如果你在 IDEA 里改完直接看浏览器,编译还没跑。解决方法是CTRL+F9手动触发一次 Build,或者去Settings -> Build -> Compiler把Build project automatically确认勾上。2022.2 上还要检查Advanced Settings里的Allow auto-make是否开启。
5.3 MyBatis 日志插件在 2022.2 不输出 SQL
现象:2020.1.4 上 MyBatis LogFormat 正常,换到 2022.2 后控制台只有Preparing没有拼好的 SQL。原因是插件未适配 2022.2 的日志 API。解决方法是卸载 LogFormat,装 MyBatisX,并在Settings -> Other Settings -> MyBatisX里开启 SQL Log。如果项目用了 Logback 自定义 pattern,需要把 pattern 改回 MyBatis 默认格式,否则 MyBatisX 解析不到。
5.4 文件夹变色只对已跟踪文件生效
现象:改了文件后文件夹变蓝,但新增的文件没变色。原因是 IDEA 的变色逻辑基于 VCS 状态,新增文件未git add时不在 index 里,所以不标记。解决方法是手动git add或者去Settings -> Version Control -> Confirmation里调整。这个行为在 2020.1.4 和 2022.2 一致,不是 bug。
5.5 Private field is never assigned 警告误报
现象:@Autowired标注的字段报Private field is never assigned。原因是 IDEA 的Unused declaration检查不认识 Spring 的注入。解决方法是Settings -> Editor -> Inspections -> Unused declaration,在Autowired注解列表里加上org.springframework.beans.factory.annotation.Autowired。2022.2 的 Inspections 界面支持搜索注解名,直接搜Autowired添加即可。
6. 配置导入导出与跨版本迁移的实操技巧
配置迁移最稳的方式是导出 settings.zip。路径File -> Manage IDE Settings -> Export Settings,2020.1.4 和 2022.2 都在这个位置,但 2022.2 多了Export to ZIP和Sync with JetBrains Account两个选项。我一般选 ZIP,因为账号同步会把插件也同步过去,换版本时容易带过来不兼容的插件。
# 导出:File -> Manage IDE Settings -> Export Settings # 勾选要导出的项:Keymaps、Editor、Plugins、Tools # 导入:File -> Manage IDE Settings -> Import Settings # 选 zip 后重启,IDEA 会提示哪些插件不兼容参数说明:导出时Plugins这一项建议不勾,因为 2020.1.4 的插件列表导到 2022.2 会有一半装不上,反而拖慢启动。Keymaps 和 Editor 是核心,跨版本兼容性最好。导入后如果快捷键冲突,去Settings -> Keymap搜红色标记的项手动解绑。
跨版本迁移还有一个坑:2022.2 的Settings界面改成了树形结构,2020.1.4 是平铺列表,所以照着老教程找路径时,2022.2 需要先展开Editor -> General才能看到Auto Import。我的习惯是每次配完新环境,把关键路径截图存一份,下次换版本先对照截图找差异,比搜教程快。
从那以后我每次装完 IDEA,第一件事就是导出 settings.zip 存到网盘,第二件事是把 Registry 里的compiler.automake.allow.when.app.running和show memory indicator先打开,再装插件。这套流程走下来,2020.1.4 和 2022.2 的配置差异基本能控制在十分钟内抹平。希望帮到你。
本文还有配套的精品资源,点击获取