SonarQube for IntelliJ Clean as You Code 实战:只盯住新代码,告别技术债焦虑
📅 2026/8/24 8:10:57
SonarQube for IntelliJ Clean as You Code 实战只盯住新代码告别技术债焦虑【免费下载链接】sonarlint-intellijSonarQube plugin for JetBrains IDEs providing code quality and security feedback directly in the IDE项目地址: https://gitcode.com/gh_mirrors/so/sonarlint-intellijSonarQube for IntelliJ即 SonarLint 插件的Clean as You Code功能让你只关注新代码中的质量问题不再被历史技术债淹没。只需打开Focus on new code一个开关编辑器侧边栏、工具窗口、提交拦截会自动过滤掉旧代码的问题——这是 JetBrains 开发者告别技术债焦虑的最简单方法。为什么需要 Clean as You Code打开一个祖传项目做静态代码分析动辄上千条告警魔法数字、重复代码、NPE 风险……新手往往被这些红色波浪线劝退。Clean as You Code 的核心理念是旧账不翻历史代码的问题已经存在不必一次还清✨增量治理只要求你写的新代码是干净的质量棘轮每次提交都不新增问题代码质量只会越来越好的一键开启Focus on new code 设置开启方式非常简单进入 IDE 设置Settings → SonarQube for IDE → General面板勾选Focus on new code复选框 ✅立即生效无需重启这个开关在 SonarLintGlobalOptionsPanel.java 中定义旁边还会提示你聚焦新代码正是实践 Clean as You Code 的第一步。 切换开关时插件会后台刷新所有已打开项目的视图并在 CleanAsYouCodeService.kt 中上报遥测事件。什么是新代码如何判定代码新旧这是新手最容易困惑的地方新代码怎么定义答案取决于你是否使用了 Connected Mode模式新代码判定规则独立模式默认最近30 天内新增或修改的代码Connected Mode以你的 SonarQube 服务端配置的新代码定义为准如上一个标签、分支基线等这一说明直接来自插件内置的上下文帮助见 HelpLabelUtils.kt使用 Connected Mode可获得基于服务端设置的精确新代码定义未连接时最近 30 天有改动即视为新代码插件会实时向服务端查询新代码定义并把结果缓存在 NewCodePeriodCache.kt 中在界面上展示当前的 code period 描述。开启后界面上会发生什么变化勾选开关后过滤逻辑贯穿整个插件编辑器 Gutter 图标只在新代码位置上显示问题波浪线与图标过滤逻辑见 CurrentFileDisplayManager.kt 中的isOnNewCode()判断Current File 面板问题列表默认只显示新代码问题Report 面板汇总报告按新代码口径统计红绿灯面板Traffic Light可独立勾选 Focus on new code一眼看清新代码是否干净切换开关的入口不只有一个工具窗口的过滤面板CurrentFilePanel.kt和红绿灯面板都可以随时切换。提交前最后一道防线Checkin Handler最实用的场景在Commit 提交时。SonarLintCheckinHandler.java 会在你提交前检查变更文件中的问题如果新代码里存在质量问题会弹出提醒对话框建议你先修复再提交。配合 Focus on new code 使用这套提交拦截 新代码聚焦的组合拳能保证提交的每一行新代码都经过静态检查不会被无关的旧代码问题干扰判断团队质量门禁Quality Gate长期保持绿色新手常见问题Q开了 Focus on new code 后旧问题是不是被藏起来了A没有被删除只是默认过滤。取消勾选或调整过滤器即可随时查看全部问题。Q独立模式和 Connected Mode 差在哪AConnected Mode 除精确的新代码定义外还能分析更多语言、检测更多问题并同步质量门禁状态建议团队用户优先使用。小结✅ 在Settings → SonarQube for IDE → General勾选Focus on new code即可开启✅ 独立模式按最近 30 天判定新代码Connected Mode 按服务端配置✅ 编辑器、工具窗口、提交拦截三层联动只管新账、不还旧账从今天起让每次提交都只往前迈一小步——这就是 Clean as You Code 的全部奥义。【免费下载链接】sonarlint-intellijSonarQube plugin for JetBrains IDEs providing code quality and security feedback directly in the IDE项目地址: https://gitcode.com/gh_mirrors/so/sonarlint-intellij创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考