DS Count Steps
一个用于统计代码行数的VSCode扩展插件。该插件可以基于关键词搜索,统计包含特定字符串的函数的代码行数。
功能特性
- 🔍 智能搜索: 基于用户输入的关键词搜索代码中的函数
- 📊 详细统计: 统计代码行数(包含/不包含空行和注释)、空行数、注释行数
- 🗂️ 多语言支持: 支持 .vue、.js、.ts、.py、.java、.cs 文件
- 📁 自动文件管理: 自动创建结果文件夹和按日期命名的报告文件
- 🚀 进度显示: 实时显示分析进度
- 📝 详细日志: 输出详细的分析日志到输出面板
使用方法
- 在VSCode的资源管理器中,右键点击一个文件夹
- 选择"DS Count Steps"菜单项
- 在弹出的输入框中输入要搜索的关键词
- 等待分析完成,查看结果文件
分析规则
支持的文件类型
- Vue文件 (.vue)
- JavaScript文件 (.js)
- TypeScript文件 (.ts)
- Python文件 (.py)
- Java文件 (.java)
- C#文件 (.cs)
统计规则
- 函数内关键词: 如果关键词在函数内部,统计整个函数的代码行数
- 函数外关键词: 如果关键词不在任何函数中,找到下一个关键词,统计两个关键词之间的代码行数
- Vue模板: 对于.vue文件的
<template> 标签中的关键词,统计该行及前后5行的代码
忽略目录
自动忽略以下常见目录:
- node_modules
- .git
- dist
- build
- .vscode
- out
输出格式
分析结果保存在目标文件夹下的DS_Count_Steps 子文件夹中,文件名格式为Steps_yyyyMMdd.txt 。
每行格式:
文件路径 - 函数名 - 代码行数(包含空行和注释) - 代码行数(不包含空行和注释) - 空行数 - 注释行数
文件末尾包含总计信息:
总计: 代码行数(包含空行和注释): xxx, 代码行数(不包含空行和注释): yyy, 空行数: zzz, 注释行数: www
开发和调试
先决条件
- Node.js 16+
- VS Code 1.103.0+
安装依赖
npm install
编译项目
npm run compile
监听模式编译
npm run watch
调试扩展
- 在VS Code中打开项目
- 按F5运行扩展开发主机
- 在新窗口中测试扩展功能
运行测试
npm test
项目结构
src/
├── extension.ts # 扩展主入口文件
├── codeAnalyzer.ts # 代码分析核心模块
├── fileManager.ts # 文件管理模块
└── logger.ts # 日志模块
错误处理
插件具有完善的错误处理机制:
- 文件读取错误会记录到日志并继续处理其他文件
- 分析过程中的错误不会中断整个流程
- 所有错误信息都会输出到"DS Count Steps"输出面板
许可证
本项目采用MIT许可证。详见LICENSE文件。
贡献
欢迎提交Issue和Pull Request来改进这个项目!
| |