Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>BMC Studio CodeXNew to Visual Studio Code? Get it now.
BMC Studio CodeX

BMC Studio CodeX

Ruichen Li

|
201 installs
| (0) | Free
coding helper for openUBMC developers
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BMC Studio 开发辅助插件

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

测试状态 代码质量 VS Code

🚀 功能特性

BMC Studio 插件为复杂的 JSON 配置文件提供类似 IDE 的智能支持:

🎯 核心功能

  • 🔍 定义跳转 - Ctrl+点击 跳转到 Statements、ProcessingFlow、ReqBody、Uri 定义
  • 💡 智能提示 - 鼠标悬停显示完整定义内容和类型信息
  • ⚡ 自动补全 - 输入 Statements/ 触发方法名智能提示
  • ❌ 错误检测 - 实时语法验证和错误提示
  • 🎨 语法高亮 - 引用语法的视觉装饰和状态指示
  • 🔄 芯片总线例外 - ManagementTopology 中的芯片在不同总线时允许重复配置

🆕 SR 文件预览 (v0.0.19)

  • 📄 实时预览 - 类似 Markdown 预览的 .sr 文件实时预览功能
    • 右侧并排显示合并后的内容
    • 编辑即预览,无需保存
    • 支持 Ctrl+F 搜索
  • 🔀 智能合并 - 自动检测并合并多个相关文件
    • 主文件+扩展构型 (XXX.sr + XXX_soft.sr)
    • 多文件组合构型 (basic_info + mgmt_model + version)
  • 📌 来源显示 - 顶部显示参与合并的源文件列表

🆕 管道表达式计算 (v0.0.18)

  • 📊 表达式求值 - 支持完整的数学和逻辑运算
    • 算术: +, -, *, /, // (整除), % (取模)
    • 比较: >, <, >=, <=, ==, !=
    • 逻辑: &&, ||, !
    • 位运算: &, |, ^, ~, <<, >>, >>>
    • 三元: ?:
  • 🔗 管道链 - 多级管道处理
    • $1 |> expr($1 + 1) |> expr($1 * 2)
    • 多输入: $1;$2;$3 |> expr($1 + $2 + $3)
  • 📝 C 风格格式化 - string.format 函数
    • 精度: %.2f, 宽度: %10s, 填充: %010d
    • 对齐: %-10s (左), 进制: %x, %o, %b

🆕 MDB缓存功能 (v0.0.14)

  • 📦 自动归档 - 自动识别和归档 output/mdb 目录到本地缓存
  • 💾 智能缓存 - 缓存到 ~/.cache/openubmc/mdb_cache,支持自定义路径
  • 🔄 实时同步 - 监听mdb目录变化,自动更新缓存
  • 🔍 快速搜索 - 在所有缓存的模型文件中搜索关键字
  • 📖 组件浏览 - 快速浏览和打开任意组件的模型文件
  • 💬 MDB悬浮提示 - 在JSON文件中显示MDB模型引用信息

📝 支持的语法类型

  • ${Statements/methodName()} - SQL 语句引用
  • ProcessingFlow[index] - 处理流程数组元素
  • ReqBody.path.to.field - 请求体字段路径
  • Uri.paramName - URI 模板参数

🏗️ 适用场景

  • 复杂的 API 接口配置文件
  • 包含多层嵌套和引用关系的 JSON 配置
  • 需要快速导航和验证的大型配置文件
  • BMC Studio 项目开发和维护
  • MDB模型文件的管理和查看

📦 安装使用

通过 VS Code 扩展商店

  1. 打开 VS Code
  2. 按 Ctrl+Shift+X 打开扩展面板
  3. 搜索 "BMC Studio"
  4. 点击安装

手动安装

# 克隆项目
git clone <repository-url>
cd plugin_demo

# 安装依赖
npm install

# 编译插件
npm run compile

# 打包扩展
npm run plugin-package

MDB缓存快速开始

  1. 自动归档(推荐)

    • 打开包含 output/mdb 或 manifest/output/mdb 的工作区
    • 插件会自动检测并归档到 ~/.cache/openubmc/mdb_cache
  2. 手动归档

    命令面板 (Ctrl+Shift+P) -> BMC Studio: 归档MDB目录
    
  3. 查看缓存

    命令面板 -> BMC Studio: 显示MDB缓存信息
    
  4. 浏览组件

    命令面板 -> BMC Studio: 浏览MDB组件
    

🛠️ 开发环境

系统要求

  • 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

测试覆盖

  • ✅ 190/190 测试通过 (100% 成功率)
  • ✅ 单元测试 - 核心逻辑和解析器
  • ✅ 集成测试 - VS Code API 集成
  • ✅ 端到端测试 - 完整用户流程

测试架构

src/test/
├── fixtures/              # 测试数据
├── unit/                  # 单元测试
├── integration/           # 集成测试
├── utils/                 # 测试工具
└── README.md             # 详细测试文档

详细的测试指南请参考测试文档。

📚 开发指南

添加新的语法支持

  1. 在 src/codex/ 下创建新的解析器类
  2. 继承 InterfaceMappingParser 基类
  3. 实现必要的解析方法
  4. 在 extension.ts 中注册 Provider
  5. 添加相应的测试用例

调试技巧

  • 使用 VS Code 内置调试器(F5)
  • 查看 Output 面板的插件日志
  • 使用 console.log 在扩展开发主机中调试
  • 利用测试套件快速验证功能

贡献代码

  1. Fork 项目并创建特性分支
  2. 确保所有测试通过 (npm test)
  3. 遵循现有的代码风格 (npm run lint)
  4. 添加适当的测试覆盖
  5. 提交 Pull Request

📄 许可证

本项目采用LICENSE.txt许可证。

🤝 支持

  • 🐛 问题报告: 请在 Issues 中报告 bug
  • 💡 功能建议: 欢迎提出新功能想法
  • 📝 文档改进: 帮助完善文档和示例
  • 🧪 测试贡献: 添加测试用例和场景

📈 版本历史

  • v0.0.19 - SR 文件预览功能,智能文件合并,实时刷新
  • v0.0.18 - 管道表达式计算引擎,C风格格式化,完整运算符支持
  • v0.0.17 - 重复对象检测,校验功能修复
  • v0.0.16 - 边栏图标优化,MDB菜单改进
  • v0.0.15 - ReqHeader 引用支持
  • v0.0.14 - MDB缓存管理功能,基于MDB的悬浮提示,组件浏览
  • v0.0.13 - SR语言服务器支持,完整测试覆盖
  • v0.0.12 - 增强的自动补全,改进的错误检测
  • v0.0.11 - 多文档支持,性能优化
  • v0.0.10 - Bug修复,悬浮提示优化
  • 更早版本 - 参见 CHANGELOG.md

🎉 感谢使用 BMC Studio 插件!

让复杂的 JSON 配置开发变得简单高效。

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