必须先注册为inspection tool并启用:在settings→editor→inspections中新建配置集,复制内置检查并配置过滤器,启用后即可实时标红;.properties文件需项目识别为spring boot类型并启用配置处理器才能支持spring..补全;自定义检查可联动live template实现..fix一键修复。

启用自定义检查并绑定到代码分析流程
要在 IDEA 2026 中让自定义检查真正参与实时扫描和错误标红,必须先将其注册为 Inspection Tool 并启用。打开 Settings → Editor → Inspections,在左侧树形列表顶部点击 + Add Inspection Profile 按钮新建一个配置集,命名为“MyTeamRules”。
展开 Java 节点 → General → 【Unused return value】 已默认启用——这是 2026.1 新增的 Kotlin-aware 检查项,但 Java 方法若返回值被忽略且无副作用,也会触发警告。你不能直接修改它,但可以复制一份作为自定义起点:右键该条目 → Duplicate → 命名为 “MyUnusedReturnWithLogging”。
进入新条目的设置页,在 Options 区域勾选 Report when return value is ignored in logging methods,再点击 Edit filter... → 添加方法签名 org.slf4j.Logger.* 和 java.util.logging.Logger.*。这一步漏掉会导致日志调用误报,尤其在 Spring Boot 项目中高频出现。
最后点击右上角 Apply → OK,回到编辑器任意 Java 文件,写一行 logger.info("test"); 就会立刻看到波浪线提示“Return value of ‘info’ is ignored”,说明检查已生效。
为 .properties 文件注入命令补全逻辑
Spring 配置文件中频繁手敲 spring.datasource.url 这类长键名极易出错,2026.1 支持直接在 .properties 文件内通过 .. 触发上下文感知补全。前提是项目已识别为 Spring Boot 类型:确认 pom.xml 中包含 spring-boot-starter 依赖,且 Project Structure → Project Settings → Project 的 SDK 设置为 JDK 17+。
打开任意 application.properties,光标定位到空行末尾,输入 spring. → 等待 0.3 秒 → 输入 .(即形成 spring..)。此时弹出的补全列表将按框架层级分组:Spring Boot、Spring MVC、Spring Security,并高亮显示当前项目实际启用的 starter 所支持的属性。
选中 spring.main.banner-mode 后按 Tab,IDEA 会自动插入等号与默认值 off,并在右侧显示灰色注释说明该配置作用。注意:如果项目未启用 spring-boot-configuration-processor 依赖,所有属性描述将为空白,需手动添加该依赖并重新构建项目。
将自定义检查与 .. 命令补全联动
当你的自定义检查发现某处代码存在潜在风险时,应允许开发者一键生成修复建议而非仅标红。以之前创建的 “MyUnusedReturnWithLogging” 为例,现在要让它支持 ..fix 快捷修复。
第一步:打开 Settings → Editor → Live Templates → 点击右上角 + → 选择 Live Template;
第二步:Abbreviation 填 logfix,Description 写 “Auto-wrap logger call with try-catch if return unused”;
第三步:在 Template text 区域粘贴以下内容:
try {<br> $LOGGER$.$METHOD$($MSG$);<br>} catch (Exception e) {<br> log.error("Failed to log: {}", $MSG$, e);<br>}
第四步:点击 Define → 勾选 Properties Files 和 Java → 点击 OK;
第五步:回到 Java 编辑器,将光标放在被标红的 logger.info("test") 上,输入 ..fix → 选择 logfix 模板 → 按 Tab 键依次填充 $LOGGER$、$METHOD$、$MSG$ 变量。这步操作后,原始单行日志调用会被包裹进带异常捕获的结构中。











