SonarLint在IDEA中安装后必须重启才生效,否则状态栏无图标、右键无分析选项;默认仅运行本地规则,需连接SonarQube服务器才能同步团队统一规则、质量门禁及历史趋势。

能直接用,但默认只跑本地规则;连不上 SonarQube 就别指望看到团队统一的规则或历史问题趋势。
安装后必须重启 IDEA 才生效
插件市场搜 SonarLint 安装完不重启,状态栏看不到 SonarLint 图标,右键菜单也不出现 Analyze with SonarLint。这是最常被忽略的一步——不是“安装完成”,而是“安装 + 重启”才算走完流程。
- 重启后,IDE 底部状态栏会出现
SonarLint标识(灰色小图标) - 任意 Java 文件打开时,编辑器右侧会显示实时扫描的 warning / error 小标记
- 项目根目录右键,菜单里应有
SonarLint→Analyze with SonarLint
连 SonarQube 服务器前先确认 JDK 版本兼容性
SonarQube 9.9+ 要求服务端运行在 JDK 17+,而 IDEA 内嵌的 SonarLint 插件(v8.x+)也依赖较新 JVM。如果你本地 SonarQube 是 8.x 或更老版本,且用 JDK 8 启动,连通后大概率报 Connection refused 或 Unsupported Java version。
- 检查
SonarQube日志里是否有Java version mismatch提示 - IDEA 的
SonarLint设置页中,“Test Connection” 按钮点下去没反应,八成是服务端 TLS 版本或证书问题(尤其公司内网自签证书) - 本地调试建议先用
http://localhost:9000(非 HTTPS),避免证书校验失败
绑定项目时选错 “Project Key” 会导致分析结果为空
在 Settings → SonarLint → Project Settings 中绑定项目,必须填和 SonarQube 后台完全一致的 project key(不是项目名,也不是 Git 仓库名)。输错一个字符,SonarLint 就拿不到规则配置,退回到纯本地规则模式,且不会报错提示。
- 去
SonarQube网页端:项目主页 →Project Settings→General Settings→Project Key,复制粘贴过来 - 如果项目是 Maven,
project key通常形如com.example:my-app,注意冒号不能写成下划线 - 绑定后,IDEA 左下角
SonarLint图标会从灰色变蓝,并显示项目名缩写
离线场景下规则更新滞后,别信“最新规则”
没连服务器时,SonarLint 用的是插件自带的规则快照(比如 v8.4 内置的是 2025 Q2 规则包)。这意味着:新发布的 java:S2259(空指针解引用增强检测)或已废弃的 java:S1192(字符串字面量重复)可能根本不在你 IDE 里。
- 规则版本藏在
Help→About→SonarLint条目末尾,格式类似rules-java-7.12 - 想强制更新本地规则?删掉
~/.IntelliJIdea*/config/plugins/sonarlint/rules/下对应语言目录,重启 IDEA 会重新下载 - 但真正稳定的规则同步,还是得靠连上
SonarQube—— 它才是规则源头
连服务器不是为了“多一个功能”,而是让规则、严重等级、修复建议全部对齐团队标准。否则你看到的 MAJOR,别人看到的是 CRITICAL,改不改、怎么改,全凭感觉。


















