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

|
289 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 中的芯片在不同总线时允许重复配置

🆕 批量表达式计算器 (v0.0.27)

  • 🔄 双模式切换 - 调试模式与用例模式一键切换
    • 调试模式: 单输入实时计算,显示每级管道处理结果
    • 用例模式: 批量测试验证,对比期望输出与实际输出
  • 📋 测试用例管理 - 便捷的测试数据导入
    • 支持文本粘贴: input1 input2 ... expectedOutput 格式
    • 支持文件导入: .txt / .csv 文件
    • 支持多输入表达式: $1;$2 |> expr($1 + $2)
  • 📊 结果展示 - 清晰的测试结果可视化
    • 表格显示: 输入、期望输出、实际输出、匹配状态(✅/❌)
    • 执行统计: 总数、匹配数、不匹配数、失败数
    • 结果导出: 支持 TXT / CSV 格式
  • 🔄 表达式同步 - SR 文件保存时自动刷新 WebView
  • 🔌 可扩展架构 - 策略模式用例加载器,支持未来扩展网络/API数据源

🆕 SMC 偏移量计算器 (v0.0.26)

  • 🧮 智能计算 - SR 文件中 SMC 偏移量的可视化计算
    • 点击 CodeLens 打开计算面板
    • 输入功能码、命令码、MS、RW、参数各分量
    • 自动计算并应用 32 位偏移量
  • 🔍 实时解码 - 灰色水印显示偏移量各分量
    • Fn:0x12 Cmd:0x4480 MS:0x0 RW:0x0 Param:0x0
    • 支持 10 进制、16 进制 (0x)、8 进制 (0o) 格式
  • 💡 悬浮提示 - 鼠标悬停显示 SMC 命令字位布局详解
    • 功能码 (Function): 6 位 (31-26)
    • 命令码 (Command): 16 位 (25-10)
    • 读取方式 (MS): 1 位 (9)
    • 读写方向 (RW): 1 位 (8)
    • 参数 (Parameter): 8 位 (7-0)
  • ⚙️ 可扩展框架 - 支持添加新的装饰类型
    • 注册式装饰系统
    • 独立的装饰类型实现
    • 100ms 防抖优化性能

🆕 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

📝 支持的语法类型

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

🏗️ 适用场景

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

📦 安装使用

通过 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

🛠️ 开发环境

系统要求

  • 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

测试覆盖

  • ✅ 501/501 测试通过 (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.28 - 移除MDB缓存管理功能(已被其他机制替代),移除侧边栏视图
  • v0.0.27 - 批量表达式计算器,双模式切换,用例导入导出,表达式同步
  • v0.0.26 - SMC 偏移量计算器,可视化计算与实时解码
  • v0.0.19 - SR 文件预览功能,智能文件合并,实时刷新
  • v0.0.18 - 管道表达式计算引擎,C风格格式化,完整运算符支持
  • v0.0.17 - 重复对象检测,校验功能修复
  • v0.0.15 - ReqHeader 引用支持
  • v0.0.14 - MDB缓存管理功能(v0.0.28 已移除),基于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