VirtualHere VS Code 扩展

⚠️ Beta 版警告
此扩展目前处于 Beta 测试阶段。核心功能部分可用,但您仍可能遇到未预期的错误或不完整的特性。我们鼓励您通过 Issues 页面 报告问题。
在 VS Code 中无缝管理您的 VirtualHere USB 设备与服务器,提供直观的图形界面,将远程设备集成到您的开发工作流中。
.
✨ 核心功能
- 📱 智能设备管理
- 树状视图: 以直观的树状列表展示所有可用USB设备。
- 一键操作: 单击即可连接或断开设备,无需命令行。
- 详细信息: 查看设备状态、地址和其他详细属性。
- 自动使用: 可为特定设备启用自动连接功能。
- 🌐 高效服务器管理
- 自动发现: 自动扫描并发现本地网络中的 VirtualHere 服务器。
- 图形化配置: 通过 UI 轻松添加、编辑和移除服务器。
- 持久化设置: 所有服务器配置将自动保存在 VS Code 设置中。
- ⚙️ 自动化进程管理
- 自动处理: 扩展可自动下载、配置并启动 vhui.exe 客户端。
- 生命周期管理: 在后台静默管理客户端进程,包括健康检查和自动重启。
- ⚡ 性能与可靠性
- 智能缓存: 缓存设备与服务器列表,减少不必要的API调用,提升UI响应速度。
- 懒加载: 按需加载组件,确保扩展不会拖慢 VS Code 的启动速度。
- 健壮的通信: 优先使用 Named Pipe 进行高效的 IPC 通信,并提供备用方案。
🚀 快速上手
- 安装扩展: 在 VS Code 扩展市场搜索 VirtualHere Client Manager 并安装。
- 打开视图: 点击活动栏中的 VirtualHere 图标,打开设备和服务器管理面板。
- 自动配置: 扩展将自动在后台下载并启动 VirtualHere 客户端。
- 开始使用: 在 DEVICES 视图中连接您的设备,或在 SERVERS 视图中添加您的服务器。
⚙️ 主要配置
您可以通过 VS Code 设置 (Ctrl+,) 来自定义扩展行为,搜索 virtualhere 即可找到相关配置。
{
// (可选) VirtualHere 客户端 (vhui64.exe) 的绝对路径。
// 留空则由扩展自动管理。
"virtualhere.clientPath": "",
// 启用/禁用设备和服务器列表的自动刷新。
"virtualhere.autoRefresh": false,
// 自动刷新的时间间隔 (毫秒)。
"virtualhere.refreshInterval": 15000,
// 手动配置的服务器列表,这些服务器将始终显示。
"virtualhere.manualServers": [
{
"address": "192.168.1.100:7575",
"nickname": "办公室服务器"
}
]
}
⚠️ 已知限制
我们致力于提供最佳体验,但受限于 VirtualHere 客户端本身,目前存在以下技术挑战:
- GET CLIENT STATE 命令: 调用此命令可能会弹出 vhui.exe 的图形界面。为了避免干扰,扩展内部已使用其他命令作为替代方案,核心功能不受影响。
- 密码服务器自动连接: 对于需要密码的服务器,“自动使用”功能仍在开发完善中。
🏗️ 架构理念
本扩展采用现代化、领域驱动的架构设计,确保代码的可维护性和扩展性。
- 分层设计: UI、命令、业务逻辑和进程管理严格分离。
- 状态机驱动: 使用 XState 管理 vhui.exe 进程复杂的生命周期,确保进程状态的稳定和可预测。
- 类型安全: 使用 Zod 对从客户端返回的数据进行严格的解析和验证,杜绝运行时错误。
- 结构化日志: 使用 Winston 提供详细的结构化日志,便于调试和排错。
想了解更多信息,请查阅 架构文档 (ARCHITECTURE.md)。
🤝 贡献
我们非常欢迎社区的贡献!无论是提交 Bug、建议新功能还是贡献代码。请先阅读我们的 贡献指南 (CONTRIBUTING.md) 来开始。
📄 许可证
本项目基于 MIT License 授权。