一个智能的 VS Code 插件,通过分析您的代码活动(报错信息、运行状态、代码变更)和可选的面部表情检测来判断当前工作情绪,并给出相应建议。心码,您的开发者情绪伙伴。
- 错误监控:实时追踪代码中的错误和警告
- 运行状态:监控代码运行、调试、终端命令执行
- 代码变更:追踪代码的增删改查操作
- 面部表情:可选的摄像头面部表情检测(使用DeepFace)
- 面部表情为首要判断依据(当启用摄像头时)
- 当未启用摄像头时,优先从运行/编译状态和工作时间判断
- 其次是代码变更和休息时间分析
- 支持7种基础表情:开心、平静、悲伤、愤怒、恐惧、惊讶、厌恶
- 映射为工作状态:平静、专注、挫败、焦虑、疲惫、开心、困惑、压力大
- 根据情绪状态提供个性化建议
- 休息提醒功能
- 工作效率优化建议
- 状态栏实时情绪指示器
- 侧边栏详细分析面板
- 摄像头实时画面显示(启用时)
- 弹窗通知提醒
- 下载
.vsix文件 - 打开 VS Code
- 按
Ctrl+Shift+P打开命令面板 - 输入
Extensions: Install from VSIX - 选择下载的文件
前置要求:
- 推荐Python 3.9+
- pip
安装步骤:
# 安装依赖
pip install tensorflow deepface依赖说明:
- DeepFace - 面部表情识别库
- TensorFlow/Keras - 深度学习后端
插件会在 VS Code 启动时自动激活,状态栏会显示当前情绪状态。
- 打开设置 (
Ctrl+,) - 搜索
emotionDetector - 勾选
Enable Camera选项 - 或使用命令
心码: 开启/关闭摄像头情绪检测
- 点击状态栏的情绪指示器
- 或使用命令
心码: 显示情绪检测面板 - 或点击侧边栏的表情图标
使用命令 心码: 导出数据或报告 可以生成 Markdown 格式的详细报告。
| 配置项 | 说明 | 默认值 |
|---|---|---|
emotionDetector.enableCamera |
启用摄像头面部表情检测 | false |
emotionDetector.pythonPath |
DeepFace服务: Python解释器路径 | python3 |
emotionDetector.analysisInterval |
情绪分析间隔时间(秒) | 30 |
emotionDetector.notificationThreshold |
情绪异常通知阈值 | medium |
emotionDetector.enableSuggestions |
启用情绪建议提醒 | true |
emotionDetector.trackingEnabled |
启用代码活动追踪 | true |
emotionDetector.breakReminder |
启用休息提醒 | true |
emotionDetector.breakInterval |
休息提醒间隔(分钟) | 90 |
| 命令 | 说明 |
|---|---|
emotionDetector.showPanel |
显示情绪分析面板 |
emotionDetector.toggleCamera |
开启/关闭摄像头情绪检测 |
emotionDetector.showSetupGuide |
显示摄像头检测安装指引 |
emotionDetector.resetStats |
重置情绪统计数据 |
emotionDetector.exportData |
导出数据或报告 |
emotion-detector/
├── src/
│ ├── extension.ts # 插件入口
│ ├── monitors/ # 数据采集模块
│ │ ├── errorMonitor.ts # 报错监控
│ │ ├── runStatusMonitor.ts # 运行状态监控
│ │ └── codeChangeTracker.ts # 代码变更追踪
│ ├── analyzers/ # 分析模块
│ │ ├── emotionAnalyzer.ts # 情绪分析引擎
│ │ ├── suggestionEngine.ts # 建议生成器
│ │ └── dataRecorder.ts # 数据记录(带用户确认)
│ ├── ui/ # UI组件
│ │ ├── statusBar.ts # 状态栏指示器
│ │ ├── emotionPanel.ts # 侧边栏面板
│ │ └── emotionConfirmDialog.ts # 情绪确认弹窗
│ ├── camera/ # 摄像头检测
│ │ ├── faceDetector.ts # 面部检测控制器
│ │ └── localYoloDetector.ts # DeepFace本地服务客户端
│ └── models/ # 数据模型
│ └── types.ts # 类型定义
└── python/ # Python服务
├── detect.py # DeepFace情绪检测
└── requirements.txt # Python依赖
- 面部表情(最高优先级):使用DeepFace检测7种表情
- 运行/编译状态:错误、警告、运行成功/失败
- 代码变更:增删改查频率
- 时间因素:工作时长、休息时间
- 运行/编译状态(最高优先级)
- 代码变更
- 时间因素
| DeepFace表情 | 工作状态 |
|---|---|
| happy | 开心 |
| neutral | 平静/专注 |
| sad | 疲惫/挫败 |
| angry | 压力大 |
| fear | 焦虑 |
| surprise | 困惑 |
| disgust | 挫败 |
- 所有数据仅在本地处理,不会上传到任何服务器
- 摄像头功能默认关闭,需要用户手动开启
- 摄像头数据仅在本地进行分析,不会存储或传输
- 数据记录功能需要用户确认情绪准确性
- 用户可以随时重置所有统计数据
欢迎提交 Issue 和 Pull Request!
MIT License
- DeepFace - 面部表情识别库
- VS Code Extension API - 插件开发框架


