Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>Git RC OKR - 代码统计分析New to Visual Studio Code? Get it now.
Git RC OKR - 代码统计分析

Git RC OKR - 代码统计分析

gitRcOkr

|
45 installs
| (1) | Free
Git 代码统计插件,提供贡献度分析、技术债务追踪和代码热点图
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git RC OKR - 代码统计分析插件

Version VS Code License Downloads

一个功能强大的 VSCode 扩展,用于分析 Git 仓库的代码贡献度、技术债务和代码热点图

快速统计 OKR | 量化工作成果 | 数据驱动决策

功能特性 • 安装使用 • 使用说明 • 报告示例 • 常见问题


项目目标

  • 快速统计 OKR:自动生成年中/年终汇报数据,节省 80% 的统计时间
  • 工作量量化:科学评估项目组成员的代码贡献和工作成果
  • 技术债务可视化:及时发现项目中的代码质量问题和重构需求
  • 数据驱动决策:为团队管理和项目优化提供客观的数据支撑

功能特性

1. 贡献度分析

全方位统计和评估团队成员的代码贡献质量,为 OKR 评估提供量化数据支持。

核心功能:

  • 基础统计:提交次数、代码行数(新增/删除/净增)、影响文件数
  • 活跃度分析:提交频率、活跃天数、平均提交大小
  • 质量评分系统:0-100分评分,A-F 等级评定,5星级直观展示
  • 团队总览:团队整体贡献度、成员排名、协作效率分析
  • 详细报告:生成 Markdown 格式报告,支持导出和分享

适用场景:团队绩效考核、个人工作汇报、项目贡献度评估、OKR 目标追踪


2. 技术债务追踪

智能识别项目中的潜在技术债务和代码质量问题,帮助团队提前预防和解决问题。

核心功能:

  • 高频修改检测:识别频繁改动的文件(代码流失风险预警)
  • 复杂度分析:检测高复杂度文件,提供科学的拆分建议
  • 大文件识别:发现超过阈值的大型文件,建议模块化
  • 稳定性评估:追踪不稳定的代码模块,计算稳定性评分
  • 四级分类系统:按严重程度分类(严重/高/中/低)
  • 改进建议:提供量化的技术指标和具体可行的改进措施
  • 健康评分:为每个文件计算健康评分(0-100分)

适用场景:代码审查、重构规划、项目质量评估、技术决策支持


3. 代码热点图

可视化展示代码修改频率和热度分布,帮助团队识别高风险和高维护成本的代码区域。

核心功能:

  • 热度评分系统:基于修改频率的 0-100 分热度评分
  • 交互式可视化:精美的 HTML 热点图界面,支持点击查看详情
  • 智能分组:自动分类(热点区域/温热区域/冷却区域/冷门代码)
  • 风险识别:快速定位需要重点关注和优化的代码区域
  • 统计分析:提供修改次数、作者数量、最后修改时间等详细信息
  • 趋势分析:识别代码演化趋势和潜在问题

适用场景:代码审查优先级排序、重构计划制定、风险评估、测试重点识别


4. 完整分析报告

一键生成综合分析文档,整合所有分析模块的结果,提供全面的项目健康度评估。

核心功能:

  • 全面整合:包含贡献度、技术债务、热点图等所有分析结果
  • 时间戳记录:自动记录报告生成时间,方便追溯
  • 团队总览:项目整体健康度评估和团队协作分析
  • 性能指标:详细的量化指标和趋势分析
  • Markdown 格式:易于阅读、编辑和分享
  • 支持导出:可保存为文件,用于存档或汇报

适用场景:项目总结、团队汇报、管理层汇报、项目交接


5. 当前文件重构建议

针对当前打开的文件,提供即时的重构建议和优化方向。

核心功能:

  • 快速分析:右键菜单即可快速获取当前文件的重构建议
  • 针对性建议:基于文件的修改历史和复杂度提供具体建议
  • 风险评估:评估文件的维护风险和重构优先级

适用场景:日常开发、代码审查、重构决策

项目演示地址

vscode扩展插件gitRcOkr扩展插件讲解

安装方法

方式一:从插件市场安装(推荐)

  1. 打开 VS Code
  2. 点击左侧活动栏的扩展图标(或按 Cmd+Shift+X / Ctrl+Shift+X)
  3. 在搜索框中输入 Git Rc OKR
  4. 点击 安装 按钮

Git Rc OKR

  1. 安装完成后,重启 VS Code
  2. 在侧边栏中即可看到 Git 代码统计 图标

注意:当前版本仅支持 VS Code,后续将支持其他 IDE


方式二:从 VSIX 文件安装

如果你已经下载了 .vsix 安装包,可以按以下步骤安装:

  1. 打开 VS Code
  2. 点击左侧活动栏的扩展图标
  3. 点击右上角的 ... 菜单
  4. 选择 从 VSIX 安装...
  5. 选择下载的 .vsix 文件
  6. 安装完成后重启 VS Code

方式三:从源码编译安装(开发者)

适合想要参与开发或自定义功能的开发者:

# 1. 克隆仓库
git clone <repository-url>
cd git-rc-okr

# 2. 安装依赖
npm install
# 或使用 yarn
yarn install

# 3. 安装打包工具(如未安装)
npm install -g @vscode/vsce

# 4. 打包项目
vsce package

# 5. 在 VS Code 中从 VSIX 安装
# 会生成 gitRcOkr-x.x.x.vsix 文件

打包完成后,按照 方式二 的步骤安装生成的 .vsix 文件。


前置要求

必需条件:

  • Visual Studio Code >= 1.75.0
  • 项目目录必须是 Git 仓库
  • 系统已安装 Git 并可在命令行中使用

推荐配置:

  • Git 版本 >= 2.0
  • 项目具有一定的提交历史(建议至少 10 次提交)
  • 稳定的代码提交习惯,以获得更准确的分析结果

使用说明

方式一:命令面板(快捷键操作)

按 Cmd+Shift+P (macOS) 或 Ctrl+Shift+P (Windows/Linux) 打开命令面板,输入以下命令:

命令 功能说明 快捷键提示
Git 统计: 贡献度分析 分析团队成员代码贡献,生成贡献度报告 适合 OKR 汇报
Git 统计: 技术债务追踪 识别和追踪技术债务,提供改进建议 适合代码审查
Git 统计: 代码热点图 可视化展示代码修改热点 适合风险识别
Git 统计: 生成完整分析报告 生成综合分析报告(包含所有功能) 适合项目总结

使用技巧:在命令面板中输入 git 统计 即可快速筛选出所有可用命令。


方式二:侧边栏面板(可视化操作)

  1. 点击 VS Code 左侧活动栏中的 Git 代码统计 图标
  2. 在打开的分析面板中可以看到以下功能按钮:
    • 贡献度分析 - 点击生成团队贡献度报告
    • 技术债务追踪 - 点击查看项目技术债务
    • 代码热点图 - 点击查看可视化热点图
    • 完整分析报告 - 点击生成综合报告
  3. 查看生成的分析结果

优势:图形化界面,操作更直观,适合不熟悉命令行的用户。


方式三:右键菜单(快速操作)

在编辑器中打开任意文件,右键点击文件内容,在上下文菜单中选择:

  • Git 统计: 当前文件重构建议 - 快速查看当前文件的重构建议和优化方向

使用场景:

  • 查看当前文件是否存在技术债务
  • 了解文件的修改历史和复杂度
  • 获取针对性的重构建议

使用流程示例

场景一:准备 OKR 年终汇报

1. 点击侧边栏的 Git 代码统计图标
2. 点击「贡献度分析」按钮
3. 等待分析完成(通常 5-30 秒)
4. 查看生成的 Markdown 报告
5. 复制报告内容到汇报文档

场景二:项目代码质量检查

1. 打开命令面板 (Cmd+Shift+P)
2. 输入「Git 统计: 生成完整分析报告」
3. 等待分析完成
4. 查看包含贡献度、技术债务、热点图的完整报告
5. 根据建议制定优化计划

场景三:日常代码审查

1. 打开需要审查的文件
2. 右键选择「Git 统计: 当前文件重构建议」
3. 查看该文件的风险评估和建议
4. 决定是否需要重构或优化

使用技巧

  1. 定期分析:建议每周或每月运行一次完整分析,追踪项目健康度变化
  2. 结合使用:贡献度分析适合个人汇报,技术债务追踪适合团队优化
  3. 导出报告:生成的 Markdown 报告可以直接复制或保存为文件
  4. 关注趋势:重点关注技术债务"严重"级别的问题,优先处理
  5. 热点图应用:使用热点图识别高风险代码,合理分配测试和审查资源

应用场景

团队管理场景

OKR 考核评估

  • 量化评估团队成员的代码贡献和工作成果
  • 生成客观的数据支持绩效考核
  • 识别高产出和高质量的开发者
  • 公平公正的工作量统计

团队协作优化

  • 分析团队协作效率和代码分布
  • 识别代码所有权和责任分配
  • 优化人员配置和任务分配
  • 发现潜在的协作瓶颈

代码审查场景

风险识别

  • 识别需要重点审查的高风险代码模块
  • 发现频繁修改的不稳定区域
  • 快速定位可能存在问题的代码

审查优化

  • 优化代码审查流程和资源分配
  • 根据热点图合理分配审查时间
  • 提高审查效率和质量

项目优化场景

技术债务管理

  • 系统性发现和追踪技术债务
  • 制定基于数据的重构计划
  • 追踪代码质量改进进度
  • 预防技术债务累积

架构优化

  • 识别高复杂度和大文件
  • 提供科学的拆分建议
  • 优化项目结构和模块划分

质量提升场景

持续改进

  • 基于数据驱动的代码质量改进
  • 建立代码质量评分标准
  • 持续监控项目健康度
  • 量化改进效果

最佳实践

  • 识别优秀代码和稳定模块
  • 学习和推广最佳实践
  • 建立团队编码规范

汇报场景

工作汇报

  • 快速生成个人工作量统计
  • 提供客观的工作成果数据
  • 支持年中/年终总结
  • 可视化展示工作贡献

项目汇报

  • 生成项目整体健康度报告
  • 展示团队协作和项目进展
  • 为管理层提供决策依据

报告示例

贡献度分析报告示例

生成的贡献度报告包含详细的个人和团队统计信息:

## [作者] ruocheng@121

### 基础统计
- **提交次数**: 204 次
- **代码行数**: 128,428 行 (新增: +68,822 / 删除: -9,216 / 净增: +59,606)
- **平均提交大小**: 630 行
- **影响文件数**: 473 个

### 活跃度分析
- **提交频率**: 13.45 次/周
- **活跃天数**: 106 天
- **活跃度**: 高度活跃 ⚡

### 质量评估
- **代码质量评分**: 82/100 [A级]
- **评级说明**: 代码质量优秀,提交规范,活跃度高
- **综合评价**: 核心贡献者,持续高质量输出

### 贡献趋势
- 最近30天提交: 45 次
- 代码净增: +12,345 行
- 趋势: 稳定增长

报告用途:

  • 个人工作汇报(OKR、绩效考核)
  • 团队贡献度排名
  • 项目参与度评估
  • 工作量量化证明

技术债务追踪报告示例

技术债务报告按严重程度分级,提供详细的问题分析和改进建议:

# 技术债务分析报告

## 总体概况
- **总债务项**: 28 项
- **严重级别**: 11 项
- **高级别**: 8 项
- **中级别**: 6 项
- **低级别**: 3 项

---

## [严重级别] 严重 (11项)

### [文件] src/types/components.d.ts

#### 债务类型
- 高频修改(代码流失风险)
- 高复杂度(建议拆分)
- 稳定性差(经常变更)

#### 健康评分
**48/100** 需要立即关注

#### 问题描述
- 此文件在过去6个月被修改了 **55 次**,远超正常频率
- 文件复杂度评分为 **110**,建议拆分或重构
- 稳定性评分为 **0/100**,经常被修改,可能存在设计问题

#### 技术指标
| 指标 | 数值 | 状态 |
|------|------|------|
| 修改次数 | 55 次 | 🔴 过高 |
| 复杂度评分 | 110 | 🔴 过高 |
| 稳定性评分 | 0/100 | 🔴 极差 |
| 文件大小 | 暂无数据 | - |

#### 建议措施
1. **紧急建议**:
   - 考虑按功能模块拆分文件(建议拆分为 3-5 个子模块)
   - 重新审视类型定义的合理性,避免频繁修改
   
2. **长期优化**:
   - 建立更稳定的接口规范
   - 引入类型版本管理机制
   - 增加单元测试覆盖率

3. **预期收益**:
   - 降低维护成本 60%
   - 减少修改频率 70%
   - 提升代码稳定性 80%

---

### [文件] src/services/api.ts

#### 债务类型
-   大文件(建议拆分)

#### 健康评分
**62/100**   需要关注

#### 问题描述
- 📁 文件大小超过 **1200 行**,建议拆分为多个模块
- 🔄 包含多个职责,违反单一职责原则

#### 建议措施
- 按 API 功能域拆分(用户、订单、支付等)
- 提取公共逻辑到工具函数
- 考虑使用 API 路由模式

报告用途:

  • 制定重构计划
  • 优化代码质量
  • 技术决策支持
  • 风险评估和预防

代码热点图示例

代码热点图以可视化方式展示文件修改频率:

# 代码热点分析

## 热度分布

### 热点区域 (热度 >= 80)
这些文件修改频率极高,需要重点关注:

| 文件路径 | 热度评分 | 修改次数 | 参与人数 | 最后修改 |
|---------|---------|---------|---------|----------|
| src/components/App.tsx | 95/100 | 87 次 | 5 人 | 2 天前 |
| src/utils/helper.ts | 88/100 | 72 次 | 4 人 | 1 天前 |
| src/types/index.ts | 83/100 | 65 次 | 6 人 | 3 天前 |

**风险提示**: 这些文件变更频繁,建议:
- 增加代码审查强度
- 考虑架构优化
- 提高测试覆盖率

---

###   温热区域 (热度 50-79)
这些文件修改较频繁,需要适度关注:

| 文件路径 | 热度评分 | 修改次数 | 参与人数 |
|---------|---------|---------|---------|
| src/services/api.ts | 72/100 | 48 次 | 3 人 |
| src/hooks/useData.ts | 65/100 | 41 次 | 2 人 |

---

### 冷却区域 (热度 20-49)
这些文件修改适中,保持现状:

| 文件路径 | 热度评分 | 修改次数 |
|---------|---------|---------|
| src/config/index.ts | 35/100 | 15 次 |

---

### 冷门代码 (热度 < 20)
这些文件很少修改,可能是稳定代码或遗留代码:

- src/legacy/old-api.ts - 热度: 8/100
- src/constants/app.ts - 热度: 5/100

报告用途:

  • 识别高风险代码区域
  • 优化测试和审查资源分配
  • 制定重构优先级
  • 监控代码演化趋势

常见问题

Q1: 插件提示"当前目录不是 Git 仓库"?

解决方案:

# 检查当前目录是否是 Git 仓库
git status

# 如果不是,初始化 Git 仓库
git init

# 或者打开一个已存在的 Git 项目

Q2: 分析结果显示提交次数为 0 或数据很少?

可能原因:

  • 项目刚初始化,提交历史较少
  • Git 配置的用户名与实际提交者不匹配
  • 只统计了最近 6 个月的数据

解决方案:

  • 确保项目有足够的提交历史(建议至少 10 次)
  • 检查 Git 配置:git config user.name 和 git config user.email
  • 如需统计更长时间范围,可以修改插件配置

Q3: 生成报告时插件卡住或失败?

可能原因:

  • 项目规模过大,分析时间较长
  • Git 历史记录过多
  • 系统资源不足

解决方案:

  • 等待更长时间(大型项目可能需要 1-3 分钟)
  • 查看 VS Code 输出面板的错误信息
  • 尝试重启 VS Code
  • 确保 Git 命令行可用:git --version

Q4: 如何调整分析的时间范围?

说明: 当前版本默认分析最近 6 个月的数据。如需自定义时间范围,可以通过以下方式:

// 在 VS Code 设置中添加(未来版本支持)
"gitRcOkr.analysisRange": "12months"  // 12个月
"gitRcOkr.analysisRange": "1year"     // 1年
"gitRcOkr.analysisRange": "all"       // 全部历史

Q5: 代码质量评分是如何计算的?

评分维度:

  • 提交频率 (30%):稳定的提交频率得分更高
  • 代码量 (25%):合理的代码量(避免过大或过小的提交)
  • 活跃度 (20%):活跃天数占比
  • 影响范围 (15%):涉及的文件数量
  • 稳定性 (10%):代码修改的稳定性

评级标准:

  • A 级:90-100 分(五星)
  • B 级:80-89 分(四星)
  • C 级:70-79 分(三星)
  • D 级:60-69 分(二星)
  • F 级:< 60 分(一星)

Q6: 技术债务的严重程度是如何判定的?

判定标准:

级别 修改次数 复杂度 文件大小 稳定性评分
严重 > 40次 > 100 > 1000行 < 20分
高 25-40次 70-100 600-1000行 20-40分
中 15-25次 40-70 300-600行 40-60分
低 < 15次 < 40 < 300行 > 60分

Q7: 插件会影响 VS Code 性能吗?

性能说明:

  • 插件采用按需分析策略,不会持续占用资源
  • 只在用户主动触发命令时才执行分析
  • 分析过程在后台运行,不会阻塞编辑器
  • 内存占用极小(< 50MB)

Q8: 支持分析多个 Git 分支吗?

当前版本:

  • 默认分析当前活动分支的提交历史
  • 包含合并到当前分支的所有提交

未来计划:

  • 支持指定分支分析
  • 支持分支对比分析
  • 支持多分支协作分析

Q9: 如何导出或保存分析报告?

方法一:手动保存

  1. 生成报告后,在 Markdown 预览窗口
  2. 按 Cmd+S (macOS) 或 Ctrl+S (Windows/Linux)
  3. 选择保存位置和文件名

方法二:复制内容

  1. 在报告窗口中按 Cmd+A / Ctrl+A 全选
  2. 按 Cmd+C / Ctrl+C 复制
  3. 粘贴到其他文档中

Q10: 插件开源吗?如何贡献代码?

开源信息:

  • 本项目采用 MIT 开源协议
  • 源码托管在 Git 仓库
  • 欢迎提交 Issue 和 Pull Request

贡献方式:

  1. Fork 项目仓库
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 提交修改:git commit -m "Add new feature"
  4. 推送分支:git push origin feature/new-feature
  5. 提交 Pull Request

贡献内容:

  • 报告 Bug 或提出功能建议
  • 提交代码改进或新功能
  • 完善文档和使用示例
  • 分享使用经验和最佳实践

技术实现

核心技术栈

技术 版本 用途
TypeScript ^5.9.3 类型安全的开发语言
VS Code Extension API ^1.75.0 扩展开发框架
Node.js 22.x 运行时环境
Git CLI >= 2.0 版本控制数据采集
Webpack ^5.102.0 模块打包工具

架构设计

git-rc-okr/
├── src/
│   ├── extension.ts              # 插件入口和命令注册
│   ├── gitAnalyzer.ts           # Git 数据分析引擎
│   ├── contributionAnalyzer.ts  # 贡献度分析模块
│   ├── technicalDebtTracker.ts  # 技术债务追踪模块
│   ├── heatmapGenerator.ts      # 热点图生成模块
│   ├── refactoringAdvisor.ts    # 重构建议模块
│   ├── webviewProvider.ts       # Webview 交互界面
│   └── components/              # UI 组件库
├── dist/                        # 编译输出目录
├── images/                      # 图标资源
└── package.json                 # 项目配置

功能模块

1. Git 数据分析引擎 (gitAnalyzer.ts)

  • 执行 Git 命令获取提交历史
  • 解析提交信息和文件变更
  • 提供基础数据查询接口

2. 贡献度分析模块 (contributionAnalyzer.ts)

  • 统计提交次数、代码行数
  • 计算提交频率和活跃度
  • 生成代码质量评分

3. 技术债务追踪模块 (technicalDebtTracker.ts)

  • 检测高频修改文件
  • 分析代码复杂度
  • 评估文件稳定性
  • 生成债务报告

4. 代码热点图模块 (heatmapGenerator.ts)

  • 计算文件修改热度
  • 生成交互式 HTML 可视化
  • 智能分组和分类

5. atomgit交互界面 (webviewProvider.ts)

  • 侧边栏面板实现
  • 交互式操作界面
  • 实时数据展示
  • atomgit中的数据可视化

核心算法

贡献度评分算法

score = (
  commitFrequency * 0.30 +    // 提交频率
  codeVolume * 0.25 +          // 代码量
  activeDays * 0.20 +          // 活跃度
  fileImpact * 0.15 +          // 影响范围
  stability * 0.10             // 稳定性
) * 100

热度评分算法

heatScore = (
  modifyCount * 0.40 +         // 修改次数
  recency * 0.30 +             // 最近修改时间
  authorCount * 0.20 +         // 参与人数
  complexity * 0.10            // 复杂度
) * 100

性能优化

  • 异步处理:所有分析操作异步执行,不阻塞 UI
  • 按需分析:只在用户触发时执行,不占用后台资源
  • 数据缓存:智能缓存 Git 数据,减少重复查询
  • 代码分割:使用 Webpack 优化打包,减小体积

未来规划

短期计划 (v1.2.0)

  • [ ] 支持自定义分析时间范围
  • [ ] 添加数据导出功能(JSON、CSV、PDF)
  • [ ] 支持多语言界面(英文、中文)
  • [ ] 优化大型项目分析性能

中期计划 (v2.0.0)

  • [ ] 支持多分支对比分析
  • [ ] 添加团队协作分析功能
  • [ ] 集成 CI/CD 报告
  • [ ] 支持自定义评分规则

长期计划

  • [ ] 支持 GitHub/GitLab API 集成
  • [ ] 提供云端报告存储和分享
  • [ ] AI 驱动的代码建议
  • [ ] 支持更多 IDE(JetBrains、Sublime Text)

如何贡献

报告问题

  1. 在 GitHub Issues 中搜索是否已存在类似问题
  2. 如果没有,创建新 Issue
  3. 详细描述问题、复现步骤、环境信息

提交代码

  1. Fork 项目仓库
  2. 创建功能分支:git checkout -b feature/amazing-feature
  3. 编写代码并确保通过测试
  4. 提交修改:git commit -m "Add amazing feature"
  5. 推送分支:git push origin feature/amazing-feature
  6. 提交 Pull Request

开发规范

  • 遵循 TypeScript 和 ESLint 规范
  • 为新功能添加单元测试
  • 更新相关文档
  • 保持代码简洁和可读性

Star History

如果这个项目对你有帮助,欢迎给我们一个 Star!


回到顶部

Made with love by Git RC OKR Team

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft