面向人车模拟器的快速开发验证 VSCode 插件系统,为 HUTB 仿真框架和 MCP 通信协议提供一站式开发工具。
- 输入
hutb.或mcp.自动弹出 API 函数补全列表 - 显示函数签名、参数说明、返回值类型和使用示例
- 自动插入必填参数占位符
- 已弃用 API 添加删除线标记并提示替代方案
- HUTB/MCP 模块导入语句高亮
- 核心函数名称语法着色
- 已弃用函数特殊颜色标记
- 特定常量和枚举值高亮
- 基于 HUTB/MCP 函数调用语法树提取仿真对象、参数和执行顺序
- 未知函数检测:拼写错误自动提示相似函数名
- 参数数量检查:必填参数缺失或参数过多时给出提示
- 已弃用 API 警告:使用弃用函数时显示警告并建议替代
- 仿真顺序检查:检测未调用
hutb.init_simulator()就创建车辆、加载场景或启动仿真的逻辑错误 - 仿真对象追踪:检测车辆、传感器、场景变量重复定义或引用不存在
- 参数范围检查:检测车速、采样率、视场角、天气强度等领域参数是否越界
- 一键修复:对已弃用 HUTB/MCP 接口提供快速替换操作
- 保存 Python 脚本时自动识别
hutb.set_vehicle_speed()、hutb.update_sensor_params()、hutb.update_scene_lighting()等参数更新语句 - 通过配置的 MCP HTTP 网关向运行中的模拟器发送增量更新指令
- 状态栏显示热重载成功或失败原因,例如速度越界、MCP 连接超时
- 在资源管理器侧边栏显示
HUTB 仿真监控面板 - 实时拉取 HUTB 遥测接口,展示车辆速度曲线、车速仪表盘和二维轨迹图
- 使用 ECharts 渲染监控图表,接口未连接时可显示演示数据便于答辩演示
- 支持一键导出车辆坐标、速度、加速度、方向盘角度、摄像头/雷达统计到 CSV
- 参考 OpenHUTB/vsc 的交互方式,输入函数调用时显示参数签名
- 鼠标悬停在 HUTB/MCP 函数名上显示说明、参数和返回值
- 资源管理器右键或命令面板可新建
HUTB: 新建人车模拟器脚本 - 内置基础单车辆控制、多车协同、传感器数据采集 3 个模板
- 模板自带初始化、场景加载、车辆/传感器创建、运行循环和清理逻辑
- 支持将当前 Python 脚本保存为自定义模板,后续重复使用
- 通过
HUTB: 选择调试模板自动生成或更新.vscode/launch.json - 内置 5 种调试模板:单车辆控制、多车协同、传感器数据采集、MCP 热重载联调、批量仿真用例调试
- 每个模板自动注入对应的
HUTB_DEBUG_SCENARIO、MCP 地址或批量测试参数
- 通过
HUTB: 新建批量仿真测试配置生成 JSON 测试配置 - 配置多组场景、速度、天气等参数后可一键批量运行
- 插件向脚本注入
HUTB_BATCH_CASE和HUTB_BATCH_PARAMS环境变量 - 自动收集
HUTB_RESULT:{...}指标并生成 HTML 报告,包含统计、用例参数、仿真指标和失败原因
- 通过
HUTB: 保存仿真状态快照将当前脚本、场景对象、热重载参数和光标断点行保存为 JSON 快照 - 通过
HUTB: 加载快照并续跑自动生成HUTB: 从快照续跑调试配置 - 续跑时注入
HUTB_RESUME_SNAPSHOT、HUTB_RESUME_LINE和热重载参数环境变量,便于脚本从中间状态恢复
- 资源管理器侧边栏新增
HUTB 场景预览 - 实时解析当前 Python 脚本中的车辆、传感器、行人/障碍物坐标并绘制二维布局
- 支持识别传感器挂载关系和行人目标点,未定义车辆引用会在预览中提示
- 通过
HUTB: 生成仿真实验报告自动汇总实验脚本、场景对象、仿真参数和HUTB_RESULT结果 - 支持导出 Markdown 或 Word
.docx实验报告 - 默认输出到工作区
hutb-reports目录,可通过配置项修改
- 将 VSCode 便携版 + 插件 + Python 环境 + 依赖库打包为 ZIP
- 解压后双击
start.bat即可启动完整开发环境,零配置 - 自动生成启动脚本和 VSCode 配置
- 一键启动 Python 调试器,自动配置调试环境
- 内置 5 种调试模板,覆盖单车、多车、传感器、MCP 热重载和批量用例
- 自动生成/更新
launch.json配置
- 基于
@vscode/test-electron的自动化测试 - 支持一键打包
.vsix安装文件 - 支持一键发布到 VSCode 插件商城
- 从 VSCode 插件商城搜索 "HUTB 人车模拟器" 安装
- 或下载
.vsix文件手动安装:code --install-extension hutb-simulator-dev-0.1.0.vsix
- 打开包含 Python 文件的工作区
- 在 Python 文件中输入
hutb.或mcp.即可获得智能补全 - 按
Ctrl+Shift+P打开命令面板,输入 "HUTB" 查看所有可用命令
| 命令 | 说明 |
|---|---|
HUTB: 一键打包开发环境 |
将完整开发环境打包为 ZIP |
HUTB: 启动调试 |
自动配置并启动 Python 调试器 |
HUTB: 选择调试模板 |
选择预设的调试配置模板 |
HUTB: 打开仿真监控面板 |
打开侧边栏实时可视化面板 |
HUTB: 导出仿真监控 CSV |
导出监控面板采集到的遥测数据 |
HUTB: 打开二维场景预览 |
打开侧边栏车辆、传感器、障碍物二维布局预览 |
HUTB: 新建人车模拟器脚本 |
从内置或自定义模板生成仿真脚本 |
HUTB: 保存当前脚本为模板 |
将当前 Python 文件保存为本地自定义模板 |
HUTB: 新建批量仿真测试配置 |
生成 JSON 批量测试配置文件 |
HUTB: 运行批量仿真测试 |
批量运行仿真用例并生成 HTML 报告 |
HUTB: 保存仿真状态快照 |
保存当前脚本场景、参数和断点续跑上下文 |
HUTB: 加载快照并续跑 |
选择快照并生成续跑调试配置 |
HUTB: 生成仿真实验报告 |
导出 Markdown 或 Word 格式实验报告 |
HUTB: 运行测试 |
执行插件自动化测试 |
HUTB: 打包插件 |
打包为 .vsix 安装文件 |
HUTB: 发布插件 |
发布到 VSCode 插件商城 |
在 VSCode 设置中搜索 "hutb" 可配置以下选项:
| 配置项 | 说明 | 默认值 |
|---|---|---|
hutb.pythonPath |
Python 解释器路径 | 自动检测 |
hutb.sdkVersion |
HUTB SDK 版本号 | 空 |
hutb.packConfig.vscodePath |
VSCode 便携版路径 | 空 |
hutb.packConfig.pythonEnvPath |
Python 环境路径 | 空 |
hutb.packConfig.outputDir |
打包输出目录 | 空 |
hutb.hotReload.enabled |
保存脚本时启用仿真参数热重载 | true |
hutb.hotReload.mcpEndpoint |
MCP 热重载 HTTP 网关地址 | http://127.0.0.1:9000/hutb/hot-reload |
hutb.hotReload.timeoutMs |
热重载请求超时时间 | 1500 |
hutb.monitor.telemetryEndpoint |
HUTB 实时遥测 JSON 接口地址 | 空 |
hutb.monitor.pollIntervalMs |
监控面板拉取间隔 | 1000 |
hutb.monitor.historySize |
保留历史采样点数量 | 120 |
hutb.monitor.useMockWhenDisconnected |
未连接 HUTB 接口时显示演示数据 | true |
hutb.batch.defaultTimeoutMs |
批量测试单个用例默认超时时间 | 60000 |
hutb.batch.reportOutputDir |
批量测试 HTML 报告输出目录 | 空 |
hutb.snapshot.outputDir |
仿真状态快照输出目录 | 空 |
hutb.report.outputDir |
仿真实验报告输出目录 | 空 |
hutb.report.defaultFormat |
实验报告默认格式:markdown 或 docx |
markdown |
├── data/ # 数据文件
│ ├── api-definitions.json # HUTB/MCP API 定义
│ ├── debug-templates.json # 调试配置模板
│ └── pack-config.json # 打包配置
├── samples/ # 示例代码
│ ├── example_simulation.py # 基础仿真示例
│ └── mcp_communication.py # MCP 通信示例
├── src/ # 源代码
│ ├── extension.ts # 插件入口
│ ├── modules/ # 功能模块
│ │ ├── completion.ts # 代码补全
│ │ ├── diagnostics.ts # 错误检查
│ │ ├── packager.ts # 环境打包
│ │ ├── debugger.ts # 联动调试
│ │ ├── hotReload.ts # MCP 参数热重载
│ │ ├── simulationMonitor.ts # 仿真监控面板
│ │ ├── scenePreview.ts # 二维场景预览
│ │ ├── simulationSnapshot.ts # 快照与续跑
│ │ ├── experimentReport.ts # 实验报告导出
│ │ ├── batchSimulation.ts # 批量仿真调度
│ │ └── statusBar.ts # 状态栏
│ ├── utils/ # 工具类
│ │ └── apiLoader.ts # API 定义加载器
│ └── test/ # 测试文件
│ ├── runTest.ts # 测试入口
│ └── suite/ # 测试套件
│ ├── index.ts
│ ├── completion.test.ts
│ ├── diagnostics.test.ts
│ ├── debugConfig.test.ts
│ └── packaging.test.ts
├── syntaxes/ # 语法定义
│ └── hutb.tmLanguage.json # TextMate 语法高亮规则
├── package.json # 插件清单
├── tsconfig.json # TypeScript 配置
└── CHANGELOG.md # 更新日志
- Node.js 18.x 或 20.x
- VSCode 1.80.0+
- Python 3.9+
# 安装依赖
npm install
# 编译
npm run compile
# 一键验收全部核心功能
npm run test:features
# 监听模式
npm run watch
# 运行测试
npm test
# 打包 .vsix
npm run package
# 发布
npm run publish- 在 VSCode 中打开项目
- 按
F5启动扩展开发宿主 - 在新窗口中打开 Python 文件测试插件功能
- VSCode Extension API - 插件开发框架
- TypeScript 5.x - 核心开发语言
- Node.js - 运行环境与工具链
- TextMate Grammar - 语法高亮规则
- @vscode/test-electron - 自动化测试框架
- archiver - ZIP 压缩
MIT