BMC Studio 开发辅助插件
为 BMC Studio 开发者提供强大的 JSON 配置文件智能支持

🚀 功能特性
BMC Studio 插件为复杂的 JSON 配置文件提供类似 IDE 的智能支持:
🎯 核心功能
- 🔍 定义跳转 -
Ctrl+点击 跳转到 Statements、ProcessingFlow、ReqBody、Uri 定义
- 💡 智能提示 - 鼠标悬停显示完整定义内容和类型信息
- ⚡ 自动补全 - 输入
Statements/ 触发方法名智能提示
- ❌ 错误检测 - 实时语法验证和错误提示
- 🎨 语法高亮 - 引用语法的视觉装饰和状态指示
📝 支持的语法类型
${Statements/methodName()} - SQL 语句引用
ProcessingFlow[index] - 处理流程数组元素
ReqBody.path.to.field - 请求体字段路径
Uri.paramName - URI 模板参数
🏗️ 适用场景
- 复杂的 API 接口配置文件
- 包含多层嵌套和引用关系的 JSON 配置
- 需要快速导航和验证的大型配置文件
- BMC Studio 项目开发和维护
📦 安装使用
通过 VS Code 扩展商店
- 打开 VS Code
- 按
Ctrl+Shift+X 打开扩展面板
- 搜索 "BMC Studio"
- 点击安装
手动安装
# 克隆项目
git clone <repository-url>
cd plugin_demo
# 安装依赖
npm install
# 编译插件
npm run compile
# 打包扩展
npm run plugin-package
🛠️ 开发环境
系统要求
- VS Code 1.80.0 或更高版本
- Node.js 16+
- TypeScript 5.8+
快速开始
# 安装开发依赖
npm install
# 启动开发模式
npm run watch
# 运行测试
npm test
# 启动调试 (按 F5 或使用 VS Code 调试配置)
项目结构
plugin_demo/
├── src/ # 源代码
│ ├── extension.ts # 插件主入口
│ ├── codex/ # 核心解析器
│ │ ├── statements.ts # Statements 解析
│ │ ├── processing-flow.ts # ProcessingFlow 解析
│ │ ├── req-body.ts # ReqBody 解析
│ │ └── statement-provider-demo.ts # Provider 实现
│ ├── common/ # 通用工具
│ │ └── json-file.ts # JSON 解析核心
│ └── test/ # 测试套件
├── package.json # 插件配置
├── tsconfig.json # TypeScript 配置
└── webpack.config.js # 打包配置
🧪 测试
我们维护了一套完整的测试体系,确保插件的稳定性和可靠性。
快速测试
# 运行所有测试
npm test
# 运行单元测试
npm run test:unit
# 运行集成测试
npm run test:integration
# 生成覆盖率报告
npm run test:coverage
测试覆盖
- ✅ 72/72 测试通过 (100% 成功率)
- ✅ 单元测试 - 核心逻辑和解析器
- ✅ 集成测试 - VS Code API 集成
- ✅ 端到端测试 - 完整用户流程
测试架构
src/test/
├── fixtures/ # 测试数据
├── unit/ # 单元测试
├── integration/ # 集成测试
├── utils/ # 测试工具
└── README.md # 详细测试文档
详细的测试指南请参考测试文档。
📚 开发指南
添加新的语法支持
- 在
src/codex/ 下创建新的解析器类
- 继承
InterfaceMappingParser 基类
- 实现必要的解析方法
- 在
extension.ts 中注册 Provider
- 添加相应的测试用例
调试技巧
- 使用 VS Code 内置调试器(F5)
- 查看
Output 面板的插件日志
- 使用
console.log 在扩展开发主机中调试
- 利用测试套件快速验证功能
贡献代码
- Fork 项目并创建特性分支
- 确保所有测试通过 (
npm test )
- 遵循现有的代码风格 (
npm run lint )
- 添加适当的测试覆盖
- 提交 Pull Request
📄 许可证
本项目采用LICENSE.txt许可证。
🤝 支持
- 🐛 问题报告: 请在 Issues 中报告 bug
- 💡 功能建议: 欢迎提出新功能想法
- 📝 文档改进: 帮助完善文档和示例
- 🧪 测试贡献: 添加测试用例和场景
📈 版本历史
- v0.0.8 - 完整测试套件,100% 测试覆盖
- v0.0.7 - 自动补全功能,错误检测优化
- v0.0.6 - 多文档支持,性能优化
- v0.0.5 - ProcessingFlow 数组索引支持
- 更早版本 - 参见 CHANGELOG.md
🎉 感谢使用 BMC Studio 插件!
让复杂的 JSON 配置开发变得简单高效。
| |