做了这么多年开发,IDEA和VSCode基本是每天都要打开的工具。插件这东西,真的是把双刃剑:装对了,一整天写代码的心情都不一样;装多了,不仅启动变慢,快捷键冲突、内存暴涨都能让人血压升高。这篇不是那种“XX大全”式堆数量,而是我从几十个插件里反复装了卸、最后留下来的真实清单,外加我觉得值得说清楚的配置和排坑经验。
如果你正在纠结装什么,或者已经装了十几个但没啥感觉,这篇应该能给你一个比较踏实的参考。
1. 选插件前先想明白:你的核心场景是什么
1.1 插件不是越多越好,先理清自己的使用习惯
我大概是2021年左右开始折腾插件,那会儿什么火装什么,IDEA 里一度挂了50多个插件,VSCode 里也有30多个。结果是什么?IDEA 打开一个项目要将近一分钟,写代码的时候偶尔一卡,经常提示插件内存不足。到最后我删掉一半才发现,很多“网红插件”我装上后一次都没用过。
这里说下我的取舍逻辑,每次想装一个新插件前我会先问自己三个问题:
- 我的主力语言是什么?后端 Java 为主,还是前端 TS/JS 为主?
- 这个插件解决的痛点,是不是每天都会遇到?一周碰不了一次的功能,不值得占内存。
- 厂家还更不更新?一年多不更新的插件,遇到新版本 IDE 大概率要出问题。
我把插件按功能分成几类:编码效率、代码质量、AI 辅助、调试测试、界面美化、项目管理。实际场景中需要的是前五类里各挑一两个主力插件,而不是每个类别装一堆。
1.2 IDEA 和 VSCode 的定位差异决定了插件风格
IDEA 是重型 IDE,本身集成了大量功能,比如重构、代码分析、调试、版本控制,所以插件更多是“补强”角色。VSCode 是轻量编辑器,更像是“搭积木”,很多东西要靠插件拼出来。同样是 Java 开发,在 VSCode 里装插件只能做到“能写”,但要达到 IDEA 那种重构和调试体验,难度很大;反过来,用 IDEA 写个单文件测试脚本,也没有 VSCode 来得轻快。
所以我自己的分工很简单:Java 后端、Spring 这类项目一律用 IDEA;前端、Python 脚本、Markdown 文档、临时看代码,全部用 VSCode。后面推荐的插件也是按照这条线展开,免得你拿 VSCode 的姿势去折腾 IDEA,或者反过来。
2. IDEA 的高频插件清单:留在最后的是什么
2.1 编码提速类:少打重复代码,专注业务逻辑
IDEA 里头我留得最久、几乎离不开的是这么几个:
GenerateAllSetter这个插件我愿称之为联调利器。平时 new 一个对象要挨个 set 字段,尤其当对象有十几个属性时,手写真的一眼望不到头。装了它之后,在对象上 Alt+Enter 就能生成所有 setter,还能一键填充测试数据。有人觉得这功能挺简单,但配合“一键调用”模式,写测试代码的效率提升非常明显。
EasyCode适合用来生成基础代码。它是基于数据库表结构直接生成 entity、mapper、service、controller 的代码生成工具,模板可以自己改。我用它最多的场景是拿到一张新表后,从建表语句生成一套符合项目规范的 CRUD 基础代码,再在上面改业务逻辑。注意,这类工具生成的代码一定不是最优的,但能省掉前期搭骨架的时间。
CamelCase解决的是命名切换问题。写代码时经常要把 user_name 转成 userName、把 UserName 转成 user_name,来回切换。它的用法是选中文本后连续按快捷键,多个命名风格循环切换,不用自己删了重写。虽然是一个很小的功能,但每天都要用很多次,属于“装了无感、删了难受”的典型代表。
然后是RestfulToolkit,我用它来快速跳转接口。Controller 越来越多之后,靠 Ctrl+F 搜 URL 已经不够了,它可以在右侧工具窗口把项目里的所有接口列出来,点一下直接跳到对应方法,还能在编辑器里直接发起 REST 请求做简单调试。对于前后端分离的项目,配合调试可以说是必备。
2.2 代码质量与规范:提前发现问题比事后改 bug 香
代码质量类的插件,我的推荐逻辑和很多人不一样。我不太建议一上来就装一堆检查工具,因为规则太多、警告一堆反而容易让人麻木。我最后留下的是:
Alibaba Java Coding Guidelines确实能扫出很多坑,比如循环内拼接字符串、魔法值、线程池使用不规范之类。它还有统计面板,偶尔跑一下看看代码评分,确实能反向督促你写规整一点。不过它对历史老代码的“误报”也不少,我的用法是只在新写的模块里启用关注,老代码不做大面积改造。
SonarLint是 IDEA 里和 SonarQube 配合很好的代码检查插件,它能实时标出潜在 Bug 和坏味道,比如未用变量、可能的空指针、资源未关闭。VSCode 里也有对应版本,两边逻辑一致,跨 IDE 用起来不别扭。它的好处是“实时反馈”,你写完一行,旁边就有提示,不用等编译或检查,省得把问题攒到最后去功德回向。
Rainbow Brackets也算半个质量类插件——彩色括号配对是伪需求吗?不是。当嵌套深了,只有颜色区分的时候你已经分不清哪个括号匹配哪一层,它还能在光标处高亮整段括号范围。调试特别多层嵌套的表达式条件时省了很多眼神。
2.3 调试与协作:看懂代码在“干什么”
调试方面的插件,SequenceDiagram是我给很多同事安利过的一个。它能把代码的调用链自动生成时序图,处理那种“从一个入口进去,层层调用好多个 service”的场景特别好用。我之前接手一个老项目,入口方法里有三十多行调用逻辑,靠它一张图理顺了全链路,节省了大量口口相传的交接时间。
Key Promoter X是我非常推荐新手装的效率插件,它不会直接帮你写代码,但当你用鼠标点击某个功能时,它会在右下角弹窗提示对应的快捷键。花几天时间它就能把高频操作变成按键反射,我实测两周之后鼠标签到的次数至少少了一半。
Git 协作方面,IDEA 自带的 Git 功能已经很强了,我额外保留了GitToolBox,它能在每一行代码旁边直接显示最近一次提交记录、作者和时间。这种实时信息在多人协作的代码里特别好使,看到某一行出问题,立刻知道上次是谁在什么时候改的,再翻 commit 信息就很有针对性了。
2.4 现阶段不太建议装的 IDEA 插件
有几类我装过又卸了,也顺便说下原因:
- 各种主题和界面美化插件。好看是好看,但大部分主题插件会和系统默认的快捷键、字体渲染产生细节冲突,而且每次 IDE 升级后主题出兼容问题的概率很高。
- 同一功能装多个重复插件。比如代码生成类的装一个 EasyCode 就够,再装一个 Mybatis 代码生成工具,配置模板经常冲突。
- 权重过高的 AI 补全,后面单独讲,这个需要分组使用,不能全开。
提示:IDEA 里插件装的越多,索引和启动负担越大。我个人的基线是最多20个不到的插件,超过这个数我会开始“清理存货”。
3. VSCode 的插件推荐:前端和脚本的最佳搭档
3.1 前端开发三件套:格式化、检查、标签
VSCode 的插件生态最成熟的前端开发方案,我认为三个插件足矣:
ESLint负责代码规则检查,Prettier - Code formatter负责格式化,Auto Rename Tag负责“改一个标签名自动同步另一半”。
很多人让 ESLint 和 Prettier 打架,问题其实出在配置上:两个工具的职责不同,ESLint 管“代码对不对”,Prettier 管“代码好看不好看”。想让它们协作舒畅,我的一位前端朋友踩平了这个坑之后给了三条经验,我也直接拿来用了大半年:
- 关闭和格式化相关的 ESLint 规则,把格式问题全交给 Prettier,在 ESLint 配置里写
"prettier/prettier": "error"让他们通过插件串联。 - 在 VSCode settings.json 里把 Prettier 设为默认格式化器,并打开保存时自动格式化。
- 如果项目既有 ESLint 又有 Stylelint,一定要分别设置对应的文件关联,别让 Prettier 去格式化它不该管的文件。
下面是一个我常用的小项目配置片段,可以直接放进项目根目录的.vscode/settings.json:
{ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" ] }注意"explicit"是较新版本 VSCode 的写法,旧版本的写法是true,两边都能用,但升级后确实有人栽在这上面。
3.2 调试与接口联调:REST Client 可以替代 Postman
大多数人的日常绝对绕不开接口调试。VSCode 的REST Client插件我觉得比很多图形化工具更顺手。它的思路是直接在.http文件里写请求,可以保存成文件放进项目仓库,方便同事共享,也能用变量、环境切换功能。
实际用起来是一个.http文件搞定多种场景,我简单写一个最小可用的例子:
### 登录获取 token POST http://localhost:8080/api/login Content-Type: application/json { "username": "admin", "password": "123456" } ### 查询用户信息 GET http://localhost:8080/api/users/1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...写完点击请求上方的“ Send Request”,响应直接显示在旁边,不切换窗口。团队里只要统一约定.http请求文件放哪个目录,新人上手联调会非常快。
另外Live Server是前端调试的常备插件,好处就一个:改动 HTML/CSS/JS 保存后浏览器自动刷新。配上浏览器调试器,前端开发可以完全不离开编辑器。
3.3 远程开发和其他效率插件
Remote-SSH是一个改变工作方式的插件,装上它之后,VSCode 就像在远程机器上做本地开发一样,代码、终端、插件都能在远程跑起来。我现在的很多服务端项目都是直接在远程服务器上打开目录,实时编辑实时生效,避免了本地写代码再打包上传的低效循环。
远程插件使用心得有这么几点:
- 远程机器上的项目建议在远端也装一套常用插件(如 ESLint、Prettier 会自动同步部分配置),不然远端编辑时提示和格式化能力会缺失。
- 本地和远端的 settings.json 是分开管理的,别在本地配置里指望能直接控制远端行为。
- SSH 配置建议用
~/.ssh/config管理主机别名,Remote-SSH 插件连接时更清晰,不会每次都要手动填主机名。
除了远程场景,两个阅读类插件对我帮助很大。Better Comments能把注释按类型渲染成不同颜色,比如 TODO 用醒目颜色、问题注释用红色、普通说明保持默认,扫代码时第一眼就能抓到“哪些地方还没做完”。GitLens则是我在 VSCode 里看代码历史的主力,它可以显示每一行代码最近的提交人、提交时间,点击跳转完整 diff。它和 IDEA 里的 GitToolBox 功能类似,两边都留着,习惯是统一的。
3.4 VSCode 里同样不建议过度安装的部分
VSCode 插件数量更容易失控,因为装插件实在太方便了。我清理的时候一般会把以下几类优先删掉:
- 用系统自带功能就能替代的,比如直接改字体、颜色主题,不需要装额外插件。
- 功能重复的补全插件,同一时间只留一个主力。
- 常年不更新的插件,碰到 VSCode 大版本升级后兼容报错很麻烦。
4. 两类编辑器都逃不开的配置与问题排查经验
4.1 AI 补全插件的取舍:一个 AI 插件就够了
现在 AI 辅助开发几乎是刚需。我在 IDEA 和 VSCode 里都装过 AI 插件,前后试过多种主流的方案。这里不点名哪个最强,因为迭代太快,我的经验是:尽量不要同时开两个 AI 补全插件。
原因很简单,同时开两个补全插件时,两个模型都会在代码上下文里做预测,经常出现互相截胡的代码片段,不仅没法提高效率,还老打断思路。正确的用法是选择一个和你日常语言匹配度最高的模型,长期稳定地使用下去。
怎样选主力呢?我自己的方法非常简单:拿自己项目里最常见的三类场景实测一周,看它补全出来的代码是否符合项目既有风格、对框架 API 的记忆是否准确。如果它经常给你编出并不存在的类和函数名,再换下一个。最好结果是你觉得它慢慢懂你的逻辑了,而不是每次都要改它给的东西。
4.2 插件的启用与禁用:不要每次卸载
很多人家里的插件一多就容易卡,其实还有更灵活的办法:不用的插件可以“禁用”而不是“卸载”。IDEA 和 VSCode 都支持一键禁用,临时不用的项目场景直接禁掉相关插件,需要时再启用,不用重新下载,也不会常驻内存。
举个例子,我在做纯前端页面时会临时把 IDEA 里的数据库工具插件禁掉,做服务端时再打开,整个 IDE 的响应速度会明显变快。这里记住,IDEA 对某个项目右键可以设置“为项目单独启用或禁用插件”,这是多人多项目场景下比较值得用的特性。
4.3 常见问题排查速查表
插件类的坑多而杂,我整理了一个排查表,这些基本都是在真实开发中踩过坑后才总结出来的。
| 现象 | 常见原因 | 解决思路 |
|---|---|---|
| IDE 启动变慢、占用内存高 | 插件太多或后台索引插件过多 | 打开插件管理列表,禁用不常用项 |
| 快捷键冲突,某个按键没反应 | 多个插件占用同一快捷键 | 进 Keymap 搜索对应的快捷键,查看冲突插件并改掉其中一个 |
| 插件安装了但看不到入口 | 插件未启用,或只在特定窗口类型生效 | 在插件详情里看 “Enabled” 状态,确认插件适用于当前窗口类型 |
| 升级软件后插件报错 | 插件版本未跟随主版本适配 | 去插件市场看更新,或临时禁用该插件等待新版 |
| 代码格式化混乱 | ESLint 和 Prettier 规则冲突 | 在配置里关掉 eslint 的格式规则,强制统一用 Prettier |
| AI 补全代码风格不符合项目 | 模型未使用项目上下文 | 把项目里的代码风格规则文件加入工作区,并保留更多的本地代码上下文窗口 |
这些排查思路在 IDEA 和 VSCode 里都适用。两者的插件市场界面略有不同,但核心都是先看插件列表里有没有报红或提示过期,再对照命令面板逐个排查。
4.4 一份建议的配置同步方式
不管 IDE 换电脑还是新增工作机,配置同步都可以节省大量时间。IDEA 新版自带设置同步功能,登录同一账号后会自动同步插件列表和配置。VSCode 也比较省心,直接把 Settings Sync 打开,绑定账号后,键位、用户代码片段、主题都会同步。
有一点要注意:同步里包含插件列表,但各项目特有的.vscode/settings.json是随项目走的,不要有意把本机的绝对路径写进项目配置,不然一旦换机器或换目录,配置就失效了。我的习惯是用户级配置负责编辑器的通用行为,项目级配置只保留项目相关的参数,两者不混用。
5. 一套自己用着顺手的最终组合配置参考
写到这里,也给一个现成的参考模板吧,不一定适合所有人,但可以作为起步配置。
IDEA 侧我的主力清单是:GenerateAllSetter、CamelCase、RestfulToolkit、Alibaba Java Coding Guidelines、SonarLint、Rainbow Brackets、SequenceDiagram、Key Promoter X、GitToolBox,外加一个选定好的 AI 补全插件。一共维持在 10 个上下,功能覆盖编码提速、质量扫描、调试阅读和 AI 辅助。
VSCode 侧重是:ESLint、Prettier、Auto Rename Tag、REST Client、Live Server、Remote-SSH、Better Comments、GitLens,再配合一个设置了适配自己工作区的 AI 补全插件。前端、脚本、远程开发场景都覆盖到了,日常用着也不觉得少什么。
我个人的体会是,插件这个事真的不是越多越爽。两个编辑器加起来如果超过20个常用插件,大概率说明有些功能在重叠,有些功能是低频的伪需求。与其到处找“效率神器”,不如把最核心的五六个场景打磨到极致。用稳定、不卡、快捷键顺手,才是最好的效率工具。