VSCode扩展本地调试调用命令提示无法找到当前使用扩展
问题表现
本地调试VSCode扩展时,已经注册到菜单的命令可以正常展示,但实际调用命令时会触发报错,弹窗提示:
Weird, but the extension you are currently using could not be found

根因定位
该问题由发布者(publisher)名称不匹配导致:
- 如果修改过扩展的发布者名称,但没有做全量替换,就会触发这个问题
- 具体出错位置在
extension.ts文件的KnownExtensionNames配置项:配置里的扩展名称没有拼接新的发布者名前缀,导致VSCode内部匹配扩展ID时找不到对应实例 - 这种场景下扩展的功能代码实际已经正常加载,仅因为ID标识不匹配,就会抛出找不到扩展的错误
修复步骤
- 打开扩展项目根目录下的
package.json,复制publisher字段的当前配置值 - 打开扩展入口文件(默认路径为
src/extension.ts,如果自定义过入口路径请对应查找),定位到KnownExtensionNames配置块 - 将配置块内所有扩展条目的ID统一修改为
<复制的publisher值>.<扩展短名>的格式,保证和package.json里声明的扩展全ID完全一致 - 重新启动扩展调试宿主窗口,再次调用命令即可正常运行,不会再弹出找不到扩展的报错
内容的提问来源于stack exchange,提问作者Tim Hawkins
相关产品推荐
相关产品推荐

