用途:在 VS Code 扩展开发中,系统性地校验扩展清单(package.json)与运行时代码用法是否一致,防止配置键、命令、视图/Webview ID、上下文键未注册而导致的运行时故障。这类问题不会在编译期报错,只在用户触发特定功能时出现。
主要能力:
- 配置注册校验:检查所有 workspace.getConfiguration().update() 调用的键是否已在 package.json 的 configuration.properties 中注册,或已被 try-catch 包裹。
- 命令注册校验:检查 commands.registerCommand() 注册的命令是否都在 contributes.commands 中声明。
- 配置读取校验:检查 getConfiguration().get() 读取的键是否有对应注册属性,并建议始终提供默认值。
- 错误处理模式:对动态配置键(如用户偏好、计数)推荐优雅降级 try-catch;对关键配置则不加捕获,让失败向上抛出。
使用方式:用 grep 搜索 getConfiguration().update() 与 registerCommand() 调用,再与 package.json 交叉比对;可编写自动化审计脚本 scripts/validate-manifest.ps1,用 Select-String 提取配置更新、用 ConvertFrom-Json 读取清单属性并输出未注册项,发现问题时以非零状态退出。发布前按清单逐项复核,并在干净的 VS Code 实例中测试配置更新。
适用场景:VS Code 扩展发布前的质量检查、配置迁移与多作用域(Workspace/Global/WorkspaceFolder)更新测试、动态配置键管理。
限制:资料未提供具体版本、依赖或性能数据;动态键的 try-catch 覆盖需人工复核;命名空间配置需注册完整点分路径;弃用设置应使用 deprecationMessage。