发现一个挺适合排查配置问题的 IntelliJ 插件:Config Assistant
最近在看 Spring Boot 配置的时候,发现一个我自己现在挺常用的小插件,叫 Config Assistant。
它适合的场景很明确:
- 对比测试环境和生产环境的 YAML 配置
- 看服务迁移前后的配置差异
- 临时查看别人发来的 YAML
- 想格式化和对比配置,但又不想在项目里新建临时文件
如果你平时也会反复做这些事,这个插件用起来会比较顺手。
这个插件是干什么的
一句话说就是:
在 IntelliJ IDEA 里提供一个专门临时查看、整理、对比 YAML 的工作区。
它不是用来替代正式配置文件管理的,而是更适合这种临时分析场景:
- 从群里复制一段 YAML 过来看看
- 拿两份环境配置快速比一下差异
- 保留几份不同版本的配置做对照
平时我们做这件事,往往会在项目里临时新建几个文件,粘贴进去,看完再删。
Config Assistant 就是把这个过程收到了 IDEA 右侧的一个工具窗口里。
它能做什么
当前我觉得最实用的几个功能是:
- 新建多个
View,分别保存不同版本的 YAML - 视图按项目维度保存,重启 IDEA 之后还在
- 一键格式化当前 YAML
- 选择两个视图,用 IntelliJ 原生 Diff 直接比对
- YAML 有问题时,会直接显示解析状态和错误反馈
我觉得它最有价值的一点是:
不需要再为了临时对比配置,在项目目录里建一堆一次性文件。
适合哪些使用场景
1. 环境配置比对
这是最直接的用法。
比如你怀疑测试环境和生产环境的配置不一致,就可以:
- 一个
View放 test 配置 - 一个
View放 prod 配置 - 然后直接 Compare
像下面这些字段就很适合这样看:
spring.datasource.urlredis.hostredis.databasespring.profiles.active- 各种 feature flag
2. 服务迁移时核对配置
服务迁移或者拆分时,经常需要确认:
- 有没有漏掉配置
- 某些 key 有没有改错
- 新旧配置差异到底在哪
这个时候把迁移前后的配置分别放进两个视图里,比直接肉眼扫更快。
3. 临时整理别人发来的 YAML
有时候别人发来的 YAML 缩进乱、注释乱,看起来很费劲。
你可以直接在插件里新建一个视图,粘进去,先点 Format,再继续看。
4. 保留多个快照
比如你要改一段配置,又想保留原始版本,就可以:
View放原始配置View 1放改动版本View 2放另一个尝试版本
后面直接 compare 就行。
怎么用
整个上手过程挺简单。
第一步:打开 Config Assistant
在 IntelliJ IDEA 右侧工具窗口栏里打开 Config Assistant。
默认会有一个 View。
第二步:新建多个视图
点击 +,继续新建 View 1、View 2。
你可以按自己的习惯来放,比如:
View:测试环境View 1:生产环境View 2:迁移后的新版本
第三步:粘贴 YAML
把需要对比的配置直接粘进去就行。
这些内容会按项目维度保存,不用担心关掉 IDEA 就没了。
第四步:先格式化
如果内容比较乱,先点 Format。
这样后面看差异会清楚很多。
第五步:Compare
点 Compare 后,选择两个保存视图,插件会直接打开 IntelliJ 原生 Diff。
这一点我觉得体验很好,因为不用学新的 diff 面板,还是 IDEA 自己那套。
第六步:看底部状态
如果 YAML 本身写错了,底部会显示解析状态,编辑区里也会有错误提示。
至少在临时排查时,能很快发现明显的缩进和语法问题。
我觉得它好用的点
我自己现在用下来,比较喜欢这几个地方:
1. 不污染项目
不用再建 tmp.yaml、compare-prod.yaml、test-copy.yaml 这种一次性文件。
2. 很适合“临时分析”
这个插件不是让你长期编辑配置,而是为了让“临时看一眼、临时比一下”这件事更顺。
3. 项目级保存
有些配置今天没看完,明天继续看,这些视图还能接着用。
目前适合谁用
如果你经常做下面这些事,我觉得这个插件会比较有价值:
- 经常排查 Spring Boot 配置问题
- 经常对比不同环境配置
- 经常做服务迁移或配置核对
- 不想为了临时查看 YAML 在项目里建文件