Featured image of post VSCode扩展离线安装包直链下载

VSCode扩展离线安装包直链下载

Offline .vsix package of VSCode extension directly download

VSCode官方扩展市场和VS家族是共用的。 扩展的安装包为vsix格式文件,可以通过VSCode内置的扩展界面搜索安装也可以直接根据版本要求下载vsix包离线导入。 微软毕竟是商业大公司,当VSCode生态蓬勃发展后,便开始限制扩展市场与VSCodium等开源替代品的联系。 首先是提供的插件历史版本只限制在不到10个,且不提示扩展的历史版本要求的VSCode版本,这对于离线使用老版本的VSCode/VSCodium的用户已经不友好了。 接着甚至直接取消了商店网页的下载按钮,为了保障离线本地使用VSCode/VSCodium的自由,本博主研究了一下其下载链接用以获得插件的离线安装包。

stackoverflow回答提供了以下直链模板: https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

其中${publisher}是发布者名称,${extension name}是扩展名称,${version}是版本号。 在早期直接从商店页面下载的离线安装包命名格式通常是${publisher}.${extension name}-${version}.vsix。 发布者名称和扩展名称很容易得到,商店页面或者其URL即可看出。 版本号目前还可以从商店查询最近几个,如果不确定${version}替换为latest即可。

但是这个链接有个问题,无法指定架构信息,即x86或arm之类的。 对于大多数扩展支持架构为Universal,架构信息可以省略,但有些如C/C++扩展就要指定架构信息,尤其是默认架构居然是win-arm32。 有不同架构区别的扩展离线安装包的命名也会多处指示架构的部分,如${publisher}.${extension name}-${version}@${target_platform}.vsix

后来有stackoverflow回答提供了更好的模板: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${publisher}/vsextensions/${extension name}/${version}/vspackage?targetPlatform=${target_platform} 其中${target_platform}可选win-x64,linux-x64等,可以参考商店页面的介绍。 该模板不仅能指定架构信息,而且下载的离线安装包的名称和早期直接从商店页面下载的格式一样,都省的重命名了。

为了更好的享受本地优先的离线使用软件的自由,请使用VSCodium版本,结合此方法安装扩展。 作者在此当然希望社区替代市场 (https://open-vsx.org) 也能蓬勃发展,不过目前扩展的广泛程度和更新的及时性都不太好。

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy