大家好,我是 VSCodium 上游的龙架构移植维护者,这个帖子会介绍龙架构的 VSCodium 的插件生态适配工作。
VSCodium 是啥
VSCodium 是著名 IDE VSCode 的修改版,去除了微软的商标、数据收集等内容,并且默认使用 Open VSX 插件市场,其它部分与 VSCode 基本相同。VSCodium 可以直接安装 VSCode 所支持的绝大多数插件。
VSCodium 现已原生支持新世界龙架构,可在 GitHub 上下载,也可通过 AOSC、Arch Linux for Loong64、Gentoo 等发行版的包管理器直接安装。如果你想在其它架构的 VSCode/VSCodium 上通过 SSH 远程连接到龙架构系统进行开发,请安装 Open Remote SSH 插件,它会全自动安装龙架构的 VSCodium 服务端。
插件生态现状
许多常见的编程语言的插件无需适配即可安装使用,包括 Go、Python、JavaScript 等。不过,存在一些例外:rust-analyzer、csharp、codelldb 等。大家可在 https://github.com/loongcodium 找到当前验证过可以运行和不兼容的插件列表,其中也会提供一些替代方案。欢迎大家多多使用龙架构的 VSCodium,向这个列表添加更多信息。
为什么需要适配
只要是类似 rust-analyzer 这样自带二进制的插件都无法在龙架构 VSCodium 上安装。一方面,插件的开发者没有给龙架构编译相应的二进制文件;另一方面,VSCodium 默认使用的 Open VSX 插件市场所支持的架构列表不包括龙架构,这使得开发者无法给龙架构上传相应的二进制插件。
不过,像 Go 这样不自带二进制的插件,它在发布到插件市场时会声明自己是「通用」的,所以可以直接在龙架构的 VSCodium 上安装(不过,你还是得先在系统上安装好 go 二进制)。
如何适配龙架构
适配问题的短期解法是:像 rust-analyzer-no-server 这样 fork 出一个不自带二进制的版本,这样就能以「通用」的方式发布到插件市场。
不过,并非所有插件都能使用这种解法,实际情况往往复杂得多。例如,codelldb 虽然是「通用」插件,龙架构 VSCodium 可以直接安装,但是它启动之后才会自行下载作者编译好的二进制包。这些二进制包的 CI 位于作者自己的 Azure Pipelines,要想添加龙架构还需要移植另外一些包,参见 issue。
长期解法是:联合 VSCodium 其它架构的维护者,向 Open VSX 倡议添加平台支持,不过这大概率要求我们的用户量足够多。
联络&贡献
欢迎大家在本帖下回复你希望龙架构 VSCodium 能够安装的插件,以及帮忙验证 & 移植插件生态。