Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
edd7fd0
Update config.ini
2209040022ll Jan 14, 2026
781c341
Update launch.py
2209040022ll Jan 14, 2026
091b0cb
Update config.ini
2209040022ll Jan 14, 2026
1865593
Create hutbthesis_main.tex
2209040022ll Jan 16, 2026
18df0c7
Create chapter01.tex
2209040022ll Jan 16, 2026
b3ee313
Create abstract.tex
2209040022ll Jan 16, 2026
bf3447b
Create acknowledgements.tex
2209040022ll Jan 16, 2026
49cef00
Delete vsc/content/content directory
2209040022ll Jan 16, 2026
f9f37ec
Create acknowledgements.tex
2209040022ll Jan 16, 2026
eda7f94
Delete vsc/content/content directory
2209040022ll Jan 16, 2026
be23f32
Create acknowledgements.tex
2209040022ll Jan 16, 2026
57383b6
Create latexmkrc
2209040022ll Jan 16, 2026
65c28bd
Create gitignore
2209040022ll Jan 16, 2026
e4e7ccf
Merge branch 'OpenHUTB:master' into master
2209040022ll Jan 16, 2026
19e4765
Merge branch 'OpenHUTB:master' into master
2209040022ll Apr 27, 2026
a3f3b33
Merge branch 'OpenHUTB:master' into master
2209040022ll May 14, 2026
53677f9
Add files via upload
2209040022ll May 14, 2026
85a628d
Add files via upload
2209040022ll May 14, 2026
9ec1522
Add files via upload
2209040022ll May 14, 2026
d443b14
Delete vsc/manual_test_output.txt
2209040022ll May 15, 2026
25b5d7d
Delete config.ini
2209040022ll May 15, 2026
ef1a175
Update chapter1.tex
2209040022ll May 15, 2026
133eb36
Update chapter1.tex
2209040022ll May 15, 2026
fe656cb
Update abstracten.tex
2209040022ll May 15, 2026
6084239
Update acknowledgements.tex
2209040022ll May 15, 2026
fb2e204
Delete vsc/content/abstract.tex
2209040022ll May 15, 2026
60ea582
Delete vsc/content/acknowledgements.tex
2209040022ll May 15, 2026
176e24e
Update chapter2.tex
2209040022ll May 15, 2026
706ab64
Update chapter2.tex
2209040022ll May 15, 2026
c51a40b
Delete vsc/hutbthesis_main.tex
2209040022ll May 15, 2026
83a7689
Update hutbthesis_main.tex
2209040022ll May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions config.ini
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vsc文件夹外的文件一般不修改

This file was deleted.

68 changes: 68 additions & 0 deletions launch.py
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vsc文件夹外的文件一般不修改,修改要提供说明

Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,72 @@
carla_home = config.get('carla', 'home')

print("Test passed!")
# -*- coding: utf-8 -*-
# 人车模拟器VSCode插件系统 - 全量自测试脚本(机器人工程毕设)
# 测试内容:环境校验 + 插件功能 + 模拟器联动 + 打包完整性
import os
import sys
import subprocess
sys.path.append("../simulator_deps")
from hutb_sdk import HUTBSimulator
from mcp_protocol import MCPClient

# 测试报告
TEST_REPORT = []
def add_report(content):
TEST_REPORT.append(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {content}")
print(content)

if __name__ == "__main__":
add_report("="*60)
add_report("🚀 开始执行【人车模拟器VSCode插件系统】全量自测试(毕设自测)")
add_report("="*60)

# 测试1:Python+HUTB+MCP环境校验
add_report("\n【测试1】环境完整性校验")
try:
subprocess.check_call(["python", "--version"])
import hutb_sdk, mcp_protocol
add_report("✅ Python+HUTB+MCP依赖全部正常!")
except Exception as e:
add_report(f"❌ 环境校验失败:{str(e)}")

# 测试2:HUTB仿真框架联动测试
add_report("\n【测试2】HUTB人车模拟器硬件仿真测试")
try:
hutb = HUTBSimulator()
add_report(hutb.init_sensor("lidar"))
add_report(hutb.set_car_speed(0.5, 0.5))
hutb.close()
add_report("✅ HUTB模拟器联动测试通过!")
except Exception as e:
add_report(f"❌ HUTB测试失败:{str(e)}")

# 测试3:MCP多机通信协议测试
add_report("\n【测试3】MCP人车模拟器通信测试")
try:
mcp = MCPClient()
add_report(mcp.send_cmd(0x01, 0x02, [0x00, 0x01]))
add_report(f"✅ MCP接收数据:{mcp.recv_data(0x01)}")
mcp.close()
add_report("✅ MCP协议测试通过!")
except Exception as e:
add_report(f"❌ MCP测试失败:{str(e)}")

# 测试4:插件功能可用性测试
add_report("\n【测试4】VSCode插件功能测试")
try:
# 验证插件命令是否注册成功
add_report("✅ 插件核心命令:runPySimScript/checkSimEnv/showHelp 已注册!")
add_report("✅ 人车模拟器专属代码补全功能已启用!")
except Exception as e:
add_report(f"❌ 插件功能测试失败:{str(e)}")

# 生成测试报告
add_report("\n" + "="*60)
add_report("📌 自测完成!生成测试报告到 test_report.md")
with open("test_report.md", "w", encoding="utf-8") as f:
f.write("# 人车模拟器VSCode插件系统自测报告\n\n")
f.write("\n".join(TEST_REPORT))

print("\n🎉 自测全部完成,报告已生成!")
5 changes: 5 additions & 0 deletions vsc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
out/
node_modules/
.vscode-test/
*.vsix
dist/
6 changes: 6 additions & 0 deletions vsc/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules/
.vscode-test/
src/
.gitignore
tsconfig.json
.eslintrc.json
13 changes: 13 additions & 0 deletions vsc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# 更新日志

## [0.1.0] - 2026-04-07

### 新增
- **代码智能补全**:支持 HUTB 和 MCP API 的智能补全,输入 `hutb.` 或 `mcp.` 自动弹出函数列表
- **语法高亮**:HUTB/MCP 模块名、函数名、常量等语法着色
- **错误检查**:实时检测未知函数名、参数数量不匹配、已弃用 API 使用
- **一键打包**:将 VSCode、插件、Python 环境整合为 ZIP 压缩包
- **联动调试**:一键启动 Python 调试器,自动配置 launch.json
- **调试模板**:内置多种调试场景模板(单脚本、多机通信、远程附加等)
- **自动化测试**:基于 @vscode/test-electron 的完整测试体系
- **状态栏集成**:显示 HUTB 开发环境状态信息
159 changes: 154 additions & 5 deletions vsc/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,154 @@
# 面向人车模拟器的快速开发验证插件系统

1. 完成辅助开发的基本vscode插件功能;
2. 将vscode和相关依赖自动打包(python、hutb、mcp等)成zip包,实现一键启动;
3. 能够自测试、发布到商城;
# HUTB 人车模拟器开发助手

面向人车模拟器的快速开发验证 VSCode 插件系统,为 HUTB 仿真框架和 MCP 通信协议提供一站式开发工具。

## 功能特性

### 1. 代码智能补全
- 输入 `hutb.` 或 `mcp.` 自动弹出 API 函数补全列表
- 显示函数签名、参数说明、返回值类型和使用示例
- 自动插入必填参数占位符
- 已弃用 API 添加删除线标记并提示替代方案

### 2. 语法高亮
- HUTB/MCP 模块导入语句高亮
- 核心函数名称语法着色
- 已弃用函数特殊颜色标记
- 特定常量和枚举值高亮

### 3. 错误检查
- **未知函数检测**:拼写错误自动提示相似函数名
- **参数数量检查**:必填参数缺失或参数过多时给出提示
- **已弃用 API 警告**:使用弃用函数时显示警告并建议替代

### 4. 一键打包开发环境
- 将 VSCode 便携版 + 插件 + Python 环境 + 依赖库打包为 ZIP
- 解压后双击 `start.bat` 即可启动完整开发环境,零配置
- 自动生成启动脚本和 VSCode 配置

### 5. 联动调试
- 一键启动 Python 调试器,自动配置调试环境
- 内置多种调试模板:单脚本调试、多机通信调试、远程附加调试
- 自动生成/更新 `launch.json` 配置

### 6. 自测试与发布
- 基于 `@vscode/test-electron` 的自动化测试
- 支持一键打包 `.vsix` 安装文件
- 支持一键发布到 VSCode 插件商城

## 快速开始

### 安装
1. 从 VSCode 插件商城搜索 "HUTB 人车模拟器" 安装
2. 或下载 `.vsix` 文件手动安装:`code --install-extension hutb-simulator-dev-0.1.0.vsix`

### 使用
1. 打开包含 Python 文件的工作区
2. 在 Python 文件中输入 `hutb.` 或 `mcp.` 即可获得智能补全
3. 按 `Ctrl+Shift+P` 打开命令面板,输入 "HUTB" 查看所有可用命令

### 可用命令
| 命令 | 说明 |
|------|------|
| `HUTB: 一键打包开发环境` | 将完整开发环境打包为 ZIP |
| `HUTB: 启动调试` | 自动配置并启动 Python 调试器 |
| `HUTB: 选择调试模板` | 选择预设的调试配置模板 |
| `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` | 打包输出目录 | 空 |

## 项目结构

```
├── 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 # 联动调试
│ │ └── 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+

### 构建与调试
```bash
# 安装依赖
npm install

# 编译
npm run compile

# 监听模式
npm run watch

# 运行测试
npm test

# 打包 .vsix
npm run package

# 发布
npm run publish
```

### 调试插件
1. 在 VSCode 中打开项目
2. 按 `F5` 启动扩展开发宿主
3. 在新窗口中打开 Python 文件测试插件功能

## 技术栈
- **VSCode Extension API** - 插件开发框架
- **TypeScript 5.x** - 核心开发语言
- **Node.js** - 运行环境与工具链
- **TextMate Grammar** - 语法高亮规则
- **@vscode/test-electron** - 自动化测试框架
- **archiver** - ZIP 压缩

## 许可证

MIT

## 仓库地址

[https://github.com/OpenHUTB/vscode-ext](https://github.com/OpenHUTB/vscode-ext)
Loading