报告与分析¶
linthis report 命令提供了生成报告、查看结果、分析趋势和检查代码一致性的工具。
子命令概览¶
| 命令 | 描述 |
|---|---|
show |
以人类可读格式显示保存的检查结果 |
html |
生成包含图表和统计信息的 HTML 报告 |
stats |
显示检查结果的统计信息 |
trends |
分析代码质量趋势 |
consistency |
分析团队代码风格一致性 |
查看结果¶
将保存的检查结果(JSON)以与 linthis -c 相同的人类可读格式显示。适用于查看 hook 输出中被截断的完整错误详情或回顾之前的检查结果。
基本用法¶
# 显示最后一次检查结果
linthis report show
# 显示指定结果文件
linthis report show .linthis/result/result-20240101-120000.json
# 限制显示数量
linthis report show -n 10
选项¶
| 选项 | 描述 |
|---|---|
-n, --limit |
限制显示的问题数量(0 = 无限制) |
--compact |
紧凑格式:仅显示 file:line message,不显示代码上下文 |
--errors-only |
仅显示错误(跳过警告和信息) |
--warnings-only |
仅显示警告(跳过错误和信息) |
-f, --format |
输出格式:human(默认)、json |
示例¶
# 紧凑格式(无代码上下文)
linthis report show --compact
# 仅显示错误
linthis report show --errors-only
# 限制显示 5 个问题
linthis report show -n 5
# JSON 输出
linthis report show --format json
典型工作流程¶
在 git hook 输出中看到截断的消息后:
# Hook 显示截断的输出如:
# ╭──────────────────────────────────────╮
# │ E dt_head.h:11 inclusion of deprec... │
# ╰──────────────────────────────────────╯
# 使用以下命令查看完整详情:
linthis report show
HTML 报告¶
生成包含图表、统计信息和详细问题列表的独立 HTML 文件。
基本用法¶
# 从最后一次结果生成 HTML 报告
linthis report html
# 包含趋势分析
linthis report html --with-trends
# 指定输出文件
linthis report html -o my-report.html
选项¶
| 选项 | 描述 |
|---|---|
-o, --output |
输出文件路径(默认:.linthis/reports/report-{timestamp}.html) |
--with-trends |
在报告中包含历史趋势分析 |
-n, --trend-count |
包含的历史运行次数(默认:10) |
统计信息¶
按严重程度、语言、工具和规则显示问题数量。还显示问题最多的文件和摘要指标。
基本用法¶
# 显示最后一次结果的统计信息
linthis report stats
# JSON 格式
linthis report stats --format json
选项¶
| 选项 | 描述 |
|---|---|
-f, --format |
输出格式:human(默认)、json |
趋势分析¶
检查历史检查结果以识别代码质量趋势。显示问题是在改善、稳定还是恶化。
基本用法¶
# 分析最后 10 次运行
linthis report trends
# 分析最后 20 次运行
linthis report trends -n 20
# JSON 格式
linthis report trends --format json
选项¶
| 选项 | 描述 |
|---|---|
-n, --count |
要分析的历史运行次数(默认:10) |
-f, --format |
输出格式:human(默认)、json |
一致性分析¶
识别重复模式、异常文件和系统性问题,以帮助提高代码库的代码一致性。
基本用法¶
# 分析代码一致性
linthis report consistency
# JSON 格式
linthis report consistency --format json
选项¶
| 选项 | 描述 |
|---|---|
-f, --format |
输出格式:human(默认)、json |
结果存储¶
默认情况下,linthis 将检查结果保存到 .linthis/result/ 目录:
- 结果以带时间戳的 JSON 文件保存:
result-YYYYMMDD-HHMMSS.json - 使用
--no-save-result禁用自动保存 - 使用
--output-file指定自定义输出路径 - 使用
--keep-results限制保留的结果文件数量(默认:10)
Hook 输出宽度¶
Git hook 输出框的宽度现在会自适应终端宽度:
- 自动检测终端宽度(50-120 字符)
- 可通过配置文件中的
hook.output_width配置
# .linthis/config.toml
[hook]
output_width = 100 # 0 = 自动检测(默认)