IDLParser VSCode Extension 功能列表
IDLParser VSCode 扩展为 Visual Studio Code 提供了全面的 IDL (接口定义语言) 编辑和开发支持。该扩展增强了编写和维护 IDL 文件的体验,提供了丰富的智能编辑功能。
语言特性
语法高亮
- 为 IDL 文件 (.idl) 提供语法高亮
- 支持关键字、类型、注释、字符串等的彩色显示
- 区分不同的代码结构(消息、枚举、结构体等)
智能提示
- 提供上下文相关的代码补全建议
- 自动完成关键字、类型名称和字段名称
- 支持在
. 和 < 字符后触发补全
- 输入
examples. 时自动显示examples文件中定义的类型列表
- 在字段定义中智能过滤,仅显示结构体和枚举类型,隐藏消息类型
- 支持各种注解(@internal、@id等)的补全
代码片段
- 提供多种IDL结构的代码片段:
- 标准消息定义 (message)
- 请求消息 (req_) 和响应消息 (rsp_)
- 命令消息 (cmd_) 和通知消息 (msg_)
- 结构体 (struct) 和枚举 (enum) 定义
- 命名空间、导入语句和字段定义
- 列表类型字段和ID注解
悬停信息
- 在关键字和类型引用上显示相关信息
- 在字段类型引用上显示完整的类型定义,包括命名空间和 internal 标记
- 在
@id 注解上显示详细说明
- 在
import 语句上显示导入语法帮助
- 显示消息哈希ID的计算结果和潜在冲突信息
类型定义和引用
- 支持跳转到类型和字段的定义
- 在 IDL 文件中查找所有引用
- 支持通过 Go to Definition 功能导航到结构体、枚举和消息的定义处
- 跨文件引用解析,包括导入文件中的类型
符号导航
- 在文件内显示符号大纲(消息、结构体、枚举、字段等)
- 支持工作区范围的符号搜索
- 通过 Go to Symbol 功能快速查找和导航到特定符号
- 支持按符号类型(消息、结构体、枚举)筛选
验证与诊断
语法验证
- 实时检测 IDL 文件中的语法错误
- 显示错误位置和详细说明
- 提供快速修复建议(在可能的情况下)
- 检测缺失分号、大括号不匹配等常见错误
语义分析
- 检测未定义的类型引用
- 验证字段编号唯一性
- 检查枚举值的有效性
- 验证导入路径的有效性
- 检测无效的字段类型(如在字段中使用消息类型)
- 检查选择性导入语句的有效性
哈希冲突检测
- 检测消息哈希 ID 冲突
- 显示冲突详情和解决方案提示
- 支持通过
@id 注解手动指定哈希值
- 提供哈希冲突统计和分析信息
工程工具
工作区索引
- 自动索引工作区中的所有 IDL 文件
- 实时更新索引以反映文件变化
- 支持通过命令手动刷新索引 (
idlparser.refreshIndex )
- 在导入和引用定位方面提供卓越性能
- 索引所有类型定义,包括消息、结构体和枚举
导入管理
- 验证导入语句的有效性
- 提供导入路径的补全建议
- 检测循环依赖和丢失的文件
- 支持点号导入引用补全(如
examples.Type )
- 识别和验证选择性导入语法
文件监视
- 监视 IDL 文件的变化,自动更新索引和诊断
- 在创建、修改或删除文件时自动刷新工作区状态
- 保持编辑体验的实时性和一致性
- 自动处理文件重命名和移动操作
用户界面集成
状态栏信息
- 显示当前文件的命名空间
- 指示索引构建状态
- 提供快速访问命令的入口点
上下文菜单
- 在编辑器上下文菜单中添加IDL特定命令
- 支持刷新索引等常用操作
- 提供对当前文件的快速分析选项
命令面板集成
- 通过命令面板提供所有扩展功能的访问
- 支持刷新索引、显示统计信息等操作
使用提示
基本使用
- 安装扩展后,自动为
.idl 文件提供支持
- 无需额外配置,即可获得所有功能
- 通过代码片段快速创建新的IDL定义
智能补全技巧
- 输入类型名称后按下
. 键获取导入文件中的类型列表
- 使用
< 触发列表元素类型的补全
- 在字段定义中只会显示有效的类型(结构体和枚举)
- 使用代码片段快捷键快速插入常用结构
优化工作流
- 使用 Go to Definition (F12) 导航到类型定义
- 使用 Find All References (Shift+F12) 查找类型的所有使用处
- 使用 Go to Symbol (Ctrl+Shift+O) 快速导航到当前文件中的符号
- 使用工作区符号搜索 (Ctrl+T) 查找整个工作区中的符号
问题排查
- 如果索引看起来不一致,使用
IDLParser: 刷新索引 命令
- 检查输出面板中的 IDLParser 日志以获取详细信息
- 确保所有 IDL 文件使用正确的文件扩展名 (
.idl )
- 检查导入路径是否正确
扩展配置
目前,IDLParser 扩展无需额外配置即可工作。未来版本可能会提供以下自定义选项:
- 哈希算法选择
- 自定义代码生成模板
- 自定义代码片段
- 自定义诊断规则
性能注意事项
- 大型工作区中的初始索引构建可能需要几秒钟时间
- 索引构建完成后,所有功能将以最佳性能运行
- 工作区索引会缓存在内存中,以提供快速响应
- 文件变更时会增量更新索引,而不是重新构建整个索引
| |