发布 VSCode 扩展时出现错误检测图标

7
我正在制作VSCode扩展,已经多次打包.vsix文件而没有问题。
然而,我刚刚在package.json中添加了 "icon": "images/icon.png",并收到了一个错误信息,但我无法解决: Error: The specified icon 'extension/images/icon.png' wasn't found in the extension. 该文件确实存在(尽管我不太明白为什么它会被寻找extension下的硬编码值)。
我尝试在命令行中设置baseImagesUrl进行打包,但似乎没有任何区别。
如果有任何帮助/见解,将不胜感激 :)
5个回答

14

原来默认生成的扩展模板代码中,.vscodeignore 文件会忽略 images/**文件夹中的内容。这会导致 vsix package 命令无法将图标打包进扩展程序中,因为它找不到该文件。

希望这篇文章对其他人有所帮助!


完美。最简单的答案是最准确的。干得好。 - undefined

4

我也遇到了类似的问题,但它最终是因为 package.json 文件无法处理前导斜杠所致。我在 Windows 上,在 README.md 中使用 "./" 前缀来指定本地资源。我认为这个前缀在 package.json 中的图标字段中也可以使用,但实际上并不行。我去掉了 "./",就可以正常工作了。顺便说一下,它既不识别 "./" 也不识别 "/"。


奇怪,我在Windows上也遇到了同样的问题,但是在同一个package.json文件中,我使用“./”来定义语言文件中使用的图标路径,这个方法很好用。看起来只是扩展程序图标的问题。 - Reem

2

我把我的图标保存在"images"文件夹中,并把它命名为"icon.PNG"。在我的package.json文件中,我使用了"icon": "images/icon.png"。过去,这对我来说很好用,但现在我必须将其更改为"icon": "images/icon.PNG"区分大小写!)。


我也注意到文件夹的名称很重要。我的文件夹名字是“resources”,我把它改为“images”后问题就得到了解决,但我不知道为什么文件夹名称会影响设置的一部分。 - Durus

1

我也遇到了同样的问题.. 我只是将我的图标从 "Dark Icon 250.png" 重命名为 "icon.png",然后重新启动了 vscode 和 vsce 包。


0
将logo.png从images/logo.png移动到根目录,并更新package.json文件。
"icon":"logo.png"

并且副包将正常工作,并且图标将包含在您的扩展中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接