
“IDEA小设置”这个题目看着不起眼但它背后藏着一个很现实的问题大部分人是把IDEA当成一个“能写Java的编辑器”在用而不是当成一个“可以按自己习惯定制的开发环境”在用。最近帮同事处理一台配置不低的机器32G内存、i7处理器结果打开项目要卡半天C盘快满了切换分支也总是战战兢兢。我前前后后改了不到十个设置重启之后整个体验完全不一样。这篇文章不聊下载安装也不聊那些一次性的环境搭建专门把日常开发里性价比最高、但经常被忽略的小设置一个一个拆开讲每个设置解决什么问题、怎么改、改了之后有什么副作用、踩过什么坑。我默认你用的是IDEA 2022之后的版本社区版和专业版在这些设置上差别不大。如果你是刚从Eclipse转过来的或者换了新电脑准备重新配置IDE看完这篇应该能省下不少折腾的时间。1. 先让IDEA不“拖后腿”内存、缓存与索引相关的设置1.1 堆内存不是越大越好但默认值真的不够用IDEA默认分配的堆内存对小型项目够用但只要你开了两三个模块、启动了Spring Boot、再装几个插件右下角就会时不时出现内存不足的提示。这不是IDEA写得差而是JVM默认启动参数太保守它要考虑大多数低配机器不可能一上来就给你4G。我之前帮同事看的那台32G内存机器IDEA默认堆内存只有1.5G左右打开一个多模块Maven项目索引没跑完内存就吃紧了整个界面卡得像幻灯片。改完之后他第一反应是“原来我的电脑没问题啊”。改法很简单。新版IDEA里直接打开Help - Change Memory Settings弹窗里输入你期望的最大堆内存重启生效。如果你想改得更细可以用Help - Edit Custom VM Options打开idea64.exe.vmoptionsWindows或者对应的.vmoptions文件手动调整-Xmx和-Xms。我自己的参考配置如下具体看你机器总内存机器总内存建议IDE最大堆内存适用场景8G2048m小项目别开太多窗口16G4096m常规微服务开发32G及以上6144m-8192m多模块大项目、频繁构建有一点必须提醒堆内存不是越高越好。你把-Xmx调成8G但系统一共16G内存同时还要跑数据库、浏览器、Docker系统开始用虚拟内存交换后IDEA反而会更卡。我见过有人把16G机器的IDEA堆内存调到10G结果整个系统卡到鼠标都飘这种“神优化”千万别学。还有个容易被忽略的点IDEA会为每个打开的项目窗口分配独立进程开三个窗口就是三份内存。如果你习惯同时开多个项目要么接受内存开销要么用同一个窗口的多模块模式后者对单机资源更友好。1.2 缓存目录搬家C盘轻松腾出好几个GIDEA的日志、索引、缓存、本地历史默认放在用户目录下Windows上基本都在C:\Users\你的用户名\AppData\Local\JetBrains用几个月轻松突破2-3G我见过最夸张的同事达到了15G。这个目录不清理C盘再大也会被你慢慢吃光。IDEA没有提供图形界面的缓存目录修改入口得通过自定义属性文件来改。步骤是打开Help - Edit Custom Properties如果提示没有文件就选择创建。在文件里添加以下内容路径换成你自己的磁盘idea.system.pathD:/JetBrains/IDEA/system idea.log.pathD:/JetBrains/IDEA/log重启IDEA确认新目录生成后再删除旧的AppData\Local\JetBrains下的对应目录。为什么我只推荐改idea.system.path和idea.log.path因为idea.config.path保存着你的设置、插件配置、代码模板等迁移过程中如果出点小问题会影响插件加载而idea.plugins.path改动后插件市场识别偶尔会抽风。缓存和日志属于“可再生的垃圾”搬走它们最安全收益也最明显。另外如果你之前从没清理过我建议在删除旧缓存前先把IDEA完全退出然后对旧目录做一次压缩备份等新目录稳定运行一周再彻底删除。毕竟有些项目的历史索引结构很特殊重新生成需要花不少时间备份留一条后路总没错。1.3 省电模式与“IDEA自动关闭”的真相热词里能看到“idea自动关闭”被反复搜索。很多人以为IDEA有某个设置会自动关闭项目或退出程序其实IDEA并没有“闲置自动退出”这种原生功能。你在File菜单里看到的Power Save Mode省电模式确实会“静默”很多东西但它不会关闭程序而是关掉代码分析、编译、索引让笔记本电脑更省电。开会演示或者笔记本快没电的时候临时开一下可以平时别开开了之后代码提示和检查会明显变“迟钝”。如果你真的遇到了IDEA运行中突然退出的情况那大概率不是设置问题而是内存不足被系统杀掉或者JVM Crash。这时候别急着搜“自动关闭怎么设置”先打开Help - Show Log in ExplorerWindows把日志目录甩出来重点看idea.log里有没有OutOfMemoryError、crash字样再顺着日志找原因。顺便说一个和索引相关的“小设置”大型项目第一次打开都会卡很久其实是在建索引。如果你项目里有target、build、generated、node_modules这类不需要检索的目录在Project面板里右键目录选择Mark Directory as - Excluded把它们排除掉。这样索引量、全局搜索范围都会小很多尤其是前端工程和自动生成代码目录排除之后效果立竿见影。1.4 关闭用不上的插件和远程索引很多人装了IDEA之后插件列表一直默认从来不看不维护。实际上每一次IDE启动、每一次项目索引都会把启用的插件加载一遍。插件体积不大但它们对启动速度和索引时间的拖累非常明显。你可以打开Settings - Plugins逐个过一遍已安装插件。像Android Support这种如果你根本不写安卓完全可以关掉Git Integration、Maven这些核心组件不要动但那些“以前好奇装过再也没用过”的小插件建议该卸载就卸载。另外一个容易被忽略的是“共享索引”。IDEA会在后台下载JDK、框架的公共索引目的是让常见代码的加载更快但下载过程本身会占用网络和磁盘。如果你用的不是最新版IDEA或者网络条件不好可以在Settings - Advanced Settings里找找类似“Download shared indexes”的选项按需关闭。很多“打开项目一晚上都在跑进度条”的场景有一部分就是共享索引在作祟。2. 编码体验几个“开了就回不去”的编辑器设置2.1 自动导包两个勾选项背后的取舍日常写代码时最烦躁的操作之一就是手写import。IDEA其实提供了自动导包功能入口在Settings - Editor - General - Auto Import里面有两个关键选项Add unambiguous imports on the fly当你写了某个类名如果这个类在依赖里只有一个候选IDEA会立刻自动帮你补上import。Optimize imports on the fly保存或修改代码时自动删除未使用的import。我推荐把第一个打开第二个保持关闭。原因是“自动加import”能让你从复制粘贴代码后疯狂补import的机械劳动里解放出来但“自动优化import”会在你开发过程中频繁改动代码时把你暂时注释掉的那行import也删掉下次取消注释又得重新导包来回折腾反而碍事。如果你需要手动清理无用的import可以统一在提交前执行CtrlAltO。团队协作时保持一个固定的清理节奏比让IDE在后台偷偷改来改去更安全diff也会更干净。有一个例外情况同名类。当你import java.util.Date后又需要java.sql.Date自动导包会弹出候选列表让你选。这时候IDEA无法替你做决定必须手动选包。这是Java本身的设计限制任何自动导包都绕不过。2.2 补全匹配取消大小写输入效率提升不止一倍IDEA默认的代码补全区分大小写。比如你要输入StringBuilder如果你只打了stringb补全列表也可能不出现你想要的类因为首字母小写不匹配。这个默认行为对习惯了大小写敏感的人来说没什么但如果你经常写Lambda、调用方法或者从其他语言转过来这个设置会让你觉得补全像“没吃饭”。把Settings - Editor - General - Code Completion里的Match case取消勾选补全就会变得宽容很多输入stringb、StringB都能找到StringBuilder。打个比方这就像把输入法的“模糊音”打开了它不会让你变懒只是让你连续输入时少敲几个键。顺带提一个相关选项补全弹窗里选中候选后按Tab是“插入选中项”按Enter是“覆盖当前单词”。如果你习惯先敲一两个字符再补全建议把Tab作为确认键这样不用每次担心Enter把后面的半截单词吃掉了。这个设置同样在Code Completion页面里把“Insert selected suggestion with Tab”相关选项勾上即可。2.3 悬停文档、参数提示与快速定义你有没有遇到过这种情况看到一个不太熟悉的方法鼠标移上去想看文档发现没反应于是只能Ctrl点击进到源码里翻看完再退回来。IDEA默认没开启“鼠标悬停显示文档”但这个设置其实只需要几十秒就能配好。在Settings - Editor - General - Other里勾选Show quick documentation on mouse move并把延迟设置成300-500毫秒。这样鼠标在一个方法上停一下立刻就能看到它的Javadoc、参数说明和所属类。虽然CtrlQ和CtrlP也能看文档和参数但鼠标悬停是零成本操作特别适合快速浏览陌生代码。另一个高频操作是“快速定义”。如果你想看某个方法内部怎么实现又不想彻底点进源码把光标放到方法名上按CtrlShiftIWindows/Linux一个小浮窗就会显示实现内容。对阅读框架源码非常有帮助。2.4 字体与中文乱码Fallback Font的功劳很多人在IDEA里遇到中文注释乱码第一反应是去改编码但改了半天没用。其实乱码有两种一种是真正的文件编码问题这个下一节讲另一种是编辑器字体不支持中文字形显示成方框或问号这种情况改字体就能解决。IDEA的默认字体在Windows上对中文支持不算好尤其在控制台和弹窗里中文偶发显示异常。我建议把编辑器主字体设置成JetBrains Mono字号16。如果遇到中文显示不完整在Settings - Editor - Font页面找到Fallback font有些版本叫“Enable font fallback”把它设置成系统里的中文字体比如“微软雅黑”或“等线”。这个“回退字体”就是给主字体无法覆盖的字符兜底的配置好了之后注释里混中文、英文、特殊符号都不会再乱。IDE界面本身的字体可以在Settings - Appearance里调那是另一套配置不影响编辑器。如果你觉得整个IDEA界面字太小调这里。2.5 文件编码统一UTF-8properties文件别再乱码“IDEA中文乱码”是搜索高频词绝大多数问题都出在文件编码不一致上。新版本IDEA默认用UTF-8但项目里难免有历史文件用的是GBK或者从Windows老项目里拷过来的properties文件还是本地编码。混着用Git提交后同事一拉下来就全是乱码。我的建议是打开Settings - Editor - File Encodings把Global Encoding、Project Encoding都设成UTF-8下面Default encoding for properties files也改成UTF-8并且勾选Transparent native-to-ascii conversion。这个“透明转换”意味着properties文件保存时IDEA会把中文字符自动转成\uXXXX格式文件肉眼看到的还是中文但实际存储是ASCII安全的不会因为编译环境不同而乱码。注意改编码不会自动转换已经存在的文件。如果项目里有旧的GBK文件你需要在右下角点击文件编码区域选择“Convert”而不是“Reload”才能真正转码。只改设置不转码是很多人“明明设了UTF-8还是乱码”的原因。3. Git与版本控制合并、回退、提交前检查的配置细节3.1 Merge错了怎么办Revert Commit的正确理解“idea中如何回退merge操作”这个需求太经典了。很多人的第一反应是git reset --hard但在团队协作里如果合并提交已经push到远程reset会改写历史别人再pull的时候就是一堆冲突和混乱。正确的做法是生成一个“反向提交”。在IDEA里的路径是打开Git - Show Git Log在提交图上找到那个merge commit选中后右键选择Revert Commit。如果你回退的是一个合并提交IDEA会询问你要保留哪个父提交通常选当前主线比如你正在test分支合并了dev就保留test这一侧然后确认即可。这里补充一个容易搞混的概念git revert -m 1 merge-commit的-m 1代表保留第一个父提交按IDEA的图来看就是“撤销从dev带进来的改动保留主线状态”。用IDEA的图形化操作时它会引导你选择不需要你记这个参数但理解它有助于你判断该选哪条线。还有一点很容易踩坑如果你对合并提交执行了Revert之后再次把同一个dev分支合并进来Git会因为“这个合并的内容已经被撤销过”而拒绝带上其中一部分变更因为Git不知道你是真的想放弃还是只是临时回退。遇到这种情况常见的处理是再revert一次这次revert或者用git cherry-pick把需要的提交逐个拿回来。多分支协作时这个坑几乎必踩提前心里有数。如果合并还没有push事情就简单多了。在Log窗口里选中本地提交右键选择Undo CommitIDEA会把提交撤销并把变更还原到工作区保留你的代码修改。这相当于git reset --soft HEAD~1不会丢代码可以放心用。3.2 分支比较与合并前的准备很多人合并分支前不做diff检查直接点Merge合并完才发现把别人不要的提交也带了进来。IDEA其实提供了很方便的分支比较功能在右下角的分支菜单里选中你想合并进来的分支比如dev右键选择Compare with CurrentIDEA会打开一个差异列表展示“Current分支”和“选中分支”之间的所有不同提交和文件改动。先看提交列表再逐个看文件diff确认没有意外内容后再执行Merge into Current。这一步多花五分钟能避免很多“合并完发现带了奇怪改动”的问题。另外切换分支前如果工作区有一堆未提交的修改IDEA默认会弹窗询问你是接着在当前分支保留还是带到目标分支。在Settings - Version Control - Confirmation里可以配置这些确认框的行为。我建议保持打开弹窗不要设置成“静默切换”否则改到一半的代码可能会被带到错误的分支上。3.3 提交前ChecklistCommit窗口里那些勾选项Commit窗口右上角有一个齿轮或者“...”按钮点开后是IDEA的提交前检查清单。我见过很多人在这个窗口只点Commit从来没有注意到右侧还有一堆可勾选项。里面比较重要的有选项作用我的建议Analyze code提交前扫描代码错误强烈建议开启范围选“Only changed files”Check TODO检查遗留的TODO标记按团队习惯开Optimize imports自动清理无用import如果团队没有统一约束可开Reformat code按Code Style重新格式化谨慎开启会改动大量无关行Rearrange code按设定调整代码顺序默认关副作用较大Run Git hooks执行提交钩子看团队是否有自定义钩子我最推荐把Analyze code开着但范围一定要设置成Only changed files否则它会扫描整个项目提交操作会变得特别慢。Reformat code我一般不开因为它会把整个文件里所有格式问题都改一遍哪怕是别人写的、和你这次改动完全无关的旧代码也会被格式化导致diff里混入大量无意义修改code review时特别难受。如果你想把“手动格式化”固定成一个习惯可以在提交前按CtrlAltL只格式化当前文件然后把Reformat code关掉。这样既保持了代码整洁又不会误伤整个文件。4. 注释模板、快捷键与代码风格把重复劳动交给IDEA4.1 文件头注释模板一次配置终身受益很多公司要求每个新建文件都必须带版权头、作者、创建时间靠每次手动敲不仅容易忘还容易格式不统一。IDEA有正式的模板机制Settings - Editor - File and Code Templates - Includes - File Header。把类似下面的内容填进去/** * author 你的名字 * date ${DATE} ${TIME} * description TODO */保存后新建Java类或者接口时文件顶部就会自动带上这段注释。注意${USER}虽然是IDEA内置变量但它取的是系统用户名很多人电脑用户名是admin、user01这种没意义的值所以我更建议直接写自己的名字。另外Description这种字段我习惯给它一个大写TODO这样新建文件后一眼就能看到还没填描述的位置也不会漏填。团队协作时如果要求格式统一可以把这份模板作为一个标准同步到每个成员IDEA里支持导出这个模板后面会讲。4.2 方法注释Live Template与自动参数展开文件头模板只处理新文件方法注释就轮到Live Template上场了。我习惯配置一个mc缩写输入mc再按Tab就能自动生成一个相对规范的方法注释模板。创建方法Settings - Editor - Live Templates点击右上角加号新建一个Java分组下的模板缩写填mc模板内容填/** * 描述$DESC$ * * param $params$ * return $returns$ * date $date$ */然后点击Edit variables给变量设置表达式DESC不需要表达式光标会自动停在这里让你输入params选择methodParameters()IDE会自动把当前方法的参数列表展开成param xxxreturns选择methodReturnType()如果方法有返回值会自动生成return xxxdate填date(yyyy/MM/dd HH:mm)。注意这个模板的适用范围要勾选Java - comment否则在代码区输入mc时可能不会触发。配置好之后在方法上方输入mc按Tab一个带参数、返回值、时间的方法注释就出来了。Live Template的可玩性很高你还可以配psvm、psf之外的自己习惯的缩写。但有一条经验不要配太多配三个你每天都会用的就够了否则记不住缩写反而变成了负担。4.3 快捷键自定义与Keymap迁移IDEA默认快捷键已经很顺了但“顺”是建立在Windows/Linux惯例上的。如果你是从Eclipse、VS Code、或者Mac转过来的强制自己适应默认键位其实没有必要在Settings - Keymap里可以直接切换成Eclipse、NetBeans、VS Code方案。我见过从Eclipse转IDEA的同事第一周基本在按CtrlShiftO找import就是因为没有切换Keymap。这个页面也支持搜索和修改单个快捷键的映射。比如我想给“打开类图”设置一个顺手的位置就搜索Diagram然后右键追加一个快捷键。这里我不列一长串快捷键表只挑几个日常使用频率极高、我建议你花时间记住的操作默认快捷键说明格式化代码CtrlAltL提交前必用智能补全当前语句CtrlShiftEnter自动补全分号、括号生成代码构造器/GetSet等AltInsert封装利器打开类图CtrlAltShiftU关联热词“idea生成类图”包围代码try/catch等CtrlAltT快速包一层异常处理记住这些不等同于背快捷键表我的建议是给自己定个小目标每天刻意用一两个之前不知道的快捷键坚持一周很多操作自然就形成肌肉记忆了。配置好的Keymap可以随设置导出走新电脑导入之后又是熟悉的键位。4.4 代码风格方案导出团队统一格式代码风格不统一是review大战的主要导火索有人喜欢4空格缩进有人2空格有人喜欢方法名后不空格有人偏偏要空。IDEA里每个项目的代码风格默认跟全局走但如果团队项目本身需要统一的风格我建议给项目单独设置一份Code Style方案。在Settings - Editor - Code Style里把右上角的Scheme从“Default”切换到“Project”然后调整缩进、空行、import顺序等规则。设置好之后这套配置会保存在项目的.idea目录下可以被提交到Git仓库中。这样其他人打开项目时自动加载同一套格式规则配合格式化快捷键整个团队的代码风格就能慢慢收敛。如果你不想把整个.idea目录提交进去确实容易产生冲突可以只提交Editor - Code Style - Scheme里的导出文件在Code Style页面点击齿轮选择Export生成一个XML让团队成员通过Import导入。两种方式我都用过小团队直接把.idea里的codeStyleConfig.xml提交进去最省事大团队或者有跨语言需求时单独导入更灵活。5. 插件与外部工具JRebel、Docker、SQL与AI辅助5.1 热部署选型JRebel与Spring Boot DevTools“jrebel idea配置”也是热词。JRebel确实好用改完Java代码不用重启浏览器里一刷新就能看到效果适合频繁调试控制器、Service层的场景。但它是商业软件需要正版许可证。如果你所在团队已经买了License配置起来很简单装好插件后在Settings - JRebel里填激活信息然后在启动类上选择Run with JRebel即可。这里不多说激活相关的事我只提醒一点JRebel对框架版本比较敏感升级Spring Boot大版本前最好先确认兼容性否则热部署会莫名其妙失效。如果团队没有买JRebel我建议用Spring Boot自带的spring-boot-devtools做一个低成本替代。只需要在pom.xml里加依赖然后打开Settings - Advanced Settings勾选Allow auto-make to start even if developed application is currently running允许开发中的应用在代码变更后自动重新编译。这样改完代码IDEA会自动触发重启虽然不像JRebel那样免重启但比手动点重启按钮还是高效多了。spring-boot-devtools在IDEA里的“自动构建”依赖编译器选项所以上面那个高级设置必须开。很多人加了devtools依赖没效果绝大多数就是漏了这一步。5.2 Docker镜像打包IDEA内置插件就够“idea 打包docker镜像”的搜索频率一直很高。如果你用的是专业版IDEA本身就集成了Docker支持不需要额外插件。配置入口在Settings - Build, Execution, Deployment - Docker添加一个Docker连接。Windows上用Docker Desktop的话它通常能自动识别本地的Docker上下文你只需要确认连接状态是绿色就行。连接好之后项目里如果有Dockerfile右键选择Run on Docker即可。IDEA会调用Docker的构建流程生成镜像并启动容器你可以在Services面板里看容器日志、进入容器终端。对日常本地调试来说这套流程完全够用。以一个简单的Spring Boot服务为例Dockerfile大概长这样FROM openjdk:17-jdk-alpine WORKDIR /app COPY target/my-service.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, app.jar]构建前记得先执行mvn package否则target目录下的jar包不存在Docker构建会失败。如果你用的是多模块项目还得先确认COPY的路径是当前模块相对路径还是仓库根路径这个坑我踩过不止一次。5.3 SQL调试MyBatis插件与数据库导出脚本“idea 插件拼装sql”搜的人很多对应的场景往往是使用MyBatis时日志里只打印了带?占位符的预编译SQL调试时得手动把参数一个个填回去非常麻烦。业界有个插件叫MyBatis Log Plugin也有叫MyBatis Log的变体它会把控制台里的预编译SQL自动还原成可以直接执行的完整SQL右侧还有一个复制按钮拿到数据库客户端里一执行数据立刻出来。对排查“SQL为什么查不到数据”这种问题效率提升非常明显。使用时有两点注意一是它默认在某个控制台标签页里聚合输出你需要打开插件的“窗口”才能看到还原后的SQL不是简单在原生控制台里看二是它是第三方插件不要同时装好几个同类插件功能重复不说还会增加IDE启动负担。另外热词“idea导出数据库脚本”也有个很常见的操作场景在Database工具窗口里连接上数据库后右键点击某个表或者整个数据库菜单里会有类似Export Data to File(s)、Dump Data to File(s)、SQL Scripts的选项不同版本叫法略有差异。导出表结构用DDL生成导出数据用Dump或Export成SQL脚本。如果你是为了数据迁移我建议表结构和数据分开导出别指望一个操作全搞定。IDEA的数据库工具虽比不上专业客户端但处理日常导出和快速查询绰绰有余了。5.4 AI辅助编码插件选择与使用边界AI代码提示插件这两年是IDE领域最热的话题。IDEA插件市场里比较常见的有GitHub Copilot、通义灵码、CodeGeeX等功能原理都是基于当前文件、项目上下文和你的输入来预测下一段代码。对这个话题我的态度是“可以用但要管住手”。先说选择。如果你的项目对代码安全要求高代码会被上传到三方服务器那就得优先考虑企业合规方案或者有私有化部署能力的工具自己写个人项目用免费版就够了。插件的“激进程度”也值得调一下比如有些插件默认会在你输入时疯狂弹补全干扰你思考把它们设成“手动触发”模式需要时按一次快捷键调出建议不需要时别让它乱刷存在感。我个人的使用边界是让AI插件处理重复性高、逻辑简单的样板代码比如实体类、DTO、Mapper接口、单元测试模板但业务逻辑、事务控制、异常处理这种和系统正确性强相关的代码一定自己写写完拿AI插件做对照参考。一句话把它当实习生不当背锅侠。6. 配置备份与迁移换电脑后十分钟回到熟悉环境6.1 导出与导入Settings很多人的IDEA是“越用越顺手”因为积累了大量自定义设置Keymap、代码模板、Code Style、文件头、插件等。一旦换电脑如果只靠重装默认IDEA你会发现手感全没了快捷键不对、模板没有、编译配置乱套。IDEA内置了配置导出功能File - Manage IDE Settings - Export Settings to Zip会把当前自定义设置打包成一个zip文件。到了新电脑用Import Settings from Zip导入即可。这个zip会覆盖绝大多数配置包括Keymap、Live Templates、Code Style、File and Code Templates等。但有一个坑插件不会被打进这个zip里。导入后新IDEA的插件列表是空的你需要到Settings - Plugins里重新搜索安装。有些插件没有同步过来也没关系重新装一遍也很快关键是Keymap和Live Templates这些“录入手工配置”的东西导入zip能省掉大量重复劳动。导出zip之后顺手存到网盘或者Git仓库里习惯好的人甚至会在每次版本大升级后重新导一次确保备份文件始终是最新的。6.2 Settings Sync的坑与补充除了手动导出zipJetBrains账号还提供一项Settings Sync功能。登录账号后可以选择同步插件、设置、UI主题等插件列表也能云端同步。它的好处是免费且自动坏处是当新版本IDEA和老版本之间配置结构差异大时偶尔会出现部分设置同步失败或者插件版本冲突。我个人的习惯是“双保险”平时依赖Settings Sync做日常同步每个季度手动Export一次zip作为冷备份。如果遇到Sync把某个插件同步到新版本后和IDE不兼容直接在插件市场里禁用或降级即可不算大问题。另外如果你是IdeaVim用户千万别忘了备份.ideavimrc文件。这个文件记录你所有的Vim映射和自定义命令它不在Settings Sync的同步范围内至少我用的版本没覆盖丢失之后真的会让人抓狂。把它放进自己的dotfiles仓库和IDEA的配置备份放一起换电脑之后五分钟内就能恢复熟悉的Vim操作。写到这里我发现这些设置没有一个是“惊天动地”的大功能无非是改几个勾选框、换一个缓存路径、配一个Live Template而已。但它们加在一起决定了你每天坐在IDEA前面那八个小时舒服不舒服。我养成的习惯是每换一个新版本IDEA都会在Settings里从前往后过一遍这十几个选项每次看到同事在某个功能上反复点鼠标也会多问一句——你要不要试试这个小设置。IDEA的默认配置是为了让大多数人开箱即用不是为了配合你的工作流。把它调成你自己的形状才是“小设置”三个字里最值得认真对待的部分。