SonarLint 中文规则扫描(sonar-lint-zh)
在 VS Code 里做本地代码质量扫描的扩展:点开左侧活动栏图标,在侧边栏图形化操作——规则名全中文、可勾选、支持模糊多选搜索、支持自定义规则,扫描结果直接进 Problems 面板。
安装
- 打开 VS Code,进入扩展面板(
Ctrl+Shift+X);
- 搜索
sonar-lint-zh 或「SonarLint 中文规则扫描」;
- 点 Install 安装,装完重启窗口即可使用。
也可以直接访问 Marketplace 页面安装:
https://marketplace.visualstudio.com/items?itemName=YUNLIANGLI.sonar-lint-zh
使用
安装后,点左侧活动栏的 SonarLint 图标(盾牌),侧边栏展开「规则与问题」面板:
| 区域 |
操作 |
| 搜索规则(多选) |
模糊搜索规则,勾选多条后回车批量启停 |
| 扫描当前文件 / 扫描工作区 |
点击扫描,结果显示在 Problems 面板(Ctrl+Shift+M) |
| 清空问题 |
清除所有诊断 |
| 编辑自定义规则 |
打开/创建 .vscode/sonar-lint-zh-rules.json |
| CSS / JS / Web / 自定义规则 |
按语言分组,展开后每条规则一个中文勾选框,勾选/取消即启用/停用 |
| 问题 |
按规则分组折叠,展开后点某条直接跳到对应文件对应行 |
勾选状态保存在当前工作区,不会写进项目文件。
自定义规则
点「编辑自定义规则」,会在工作区生成 .vscode/sonar-lint-zh-rules.json(带示例),保存后自动加载,新规则会出现在「自定义规则」分组里,可勾选、参与扫描。
规则格式(每条一个对象):
{
"rules": [
{
"id": "no-console-log",
"name": "调试日志 console.log 应删除",
"description": "生产代码不应保留 console.log",
"files": ["js", "vue"],
"pattern": "console\\.log\\s*\\(",
"flags": "g",
"severity": "warning"
}
]
}
| 字段 |
说明 |
id |
唯一标识(英文/数字) |
name |
中文规则名(显示在面板和问题里) |
description |
规则说明(tooltip) |
files |
扫描的文件类型:vue / js / css / less / html / htm |
pattern |
正则表达式字符串(注意转义,如 console\\.log) |
flags |
正则标志,默认 g(如 gi) |
severity |
error / warning / info |
内置规则(38 条)
- CSS 15 条:字体通用族、空块、选择器重复、简写覆盖、颜色、calc 空格、单位、块内重复属性、keyframes !important、单行注释、空注释、多余分号、重复 @import、伪元素/伪类有效性
- JS 9 条:嵌套三元、废弃 API、var、布尔比较、自赋值、相同分支、重复 case、未使用导入、严格相等
- web 14 条:img alt、注释代码、html lang/title、DOCTYPE、a 嵌套、表格表头、淘汰元素/属性、iframe title、meta refresh、图片直链、FIXME/TODO
说明
- 无外部运行时依赖,开箱即用;
- 扫描是规则子集(文本/正则级启发式),不能完全替代服务端 Sonar 引擎,适合提交前快速自查。
| |