去年 11 月份重写子悦机器的时候,我就想搭建一个在线的文档。既然是文档就要想用什么软件去写,那个时候正好 Jetbrains 推出了他们的 Writerside IDE,宣传点就是 Jetbrains 文档同款。我当时看了下这个东西,感觉它能提供的控件非常符合我的需求,于是我就把它下载下来,拿它写子悦机器的文档。

半年之后的现在,Writerside IDE 已经死了,彻底变成了附着在其他 IDE 上的插件。从我这半年来的使用体验来看,这玩意的死可以说是命中注定。Jetbrains 根本没用心去打磨这款产品,甚至说一些非常重要的功能都做不明白。

两三个月以前,我偶然间找到了 VitePress 这款静态站点生成器。虽然之前经常见用这个的网站,但我一直不知道它叫什么。这次找到它之后,我就一直想拿它搞点什么。这次端午节放假正好没事干,用 Writerside 写的子悦机器文档也越来越不顺眼,正好我还用 React 写过前端网站(没做完),就用一个下午把子悦机器文档重写了。

这次重写解决了一个最重要的问题:搜索系统没法用。Writerside 最令我无法理解的地方就在于,这个玩意居然不支持 Algolia Docsearch 的爬虫。对于开源项目开发者来说,这种免费给开源项目用的搜索服务简直是慈善,不用白不用。我相信 Jetbrains 也明白自己家的软件在开源社区里非常受欢迎,但他们在做 Writerside 的时候,非但没有给 Docsearch 做专门适配,反而把生成的网页结构搞得一团糟,Docsearch 的爬虫都不知道怎么给网页做搜索索引。

这个问题应该是自 Writerside 出现以来就一直存在,而且他们从来不修,甚至能大言不惭地 在文档里 说你要自己去适配。他们的文档里给了一段爬虫代码,但那个玩意没法用。文档里同时也提到了你可以自己构建一套给 Algolia 用的索引,但我用 Writerside 时就没找到怎么去构建这个索引。一个有心思搞 PDF 版构建的文档系统,居然做不到让网页轻松接入第三方搜索服务,简直就是劝退。

我换到 VitePress 之后这个问题就没了,因为那玩意支持 Docsearch。虽然也需要自己写爬虫代码(也可能不需要,我没试),但至少他们给的示例能拿来用。换到 VitePress 之后,我又去看了 Writerside 的文档,发现他们居然加了 llvm.txt 生成,支持把文档变成可以喂给大语言模型 Agent 的文本文件。他们在 Writerside 上,总是搞一些看起来高大上的东西,却在最基础的需求上搞得一塌糊涂。

说一个题外话:Writerside 有一个很有趣的设置,支持配置 ICP 备案号,自动显示在网站底部。我当初看到这个设置的时候,还夸了 Jetbrains 非常明白中国用户的需求。但我一上手就发现,这个破玩意默认在前面加“Shanghai ICP”,而且是硬编码,根本没法删。除此之外,那行字还没有绑上工信部的网站链接。光针对这个问题的反馈就有好几个:ICP settings should not be started with "Shanghai ICP"

至于他们为什么这么做呢?我猜是他们没找懂得人来负责这个功能。Jetbrains 的中文官网 有英文版,而那玩意的底下写的就是“Shanghai ICP 2021006743”。估计是负责开发这个功能的人不懂,看到这种写法就以为全中国的备案都是上海审,而且写的都是英文。

他们确实修了这个问题,但等到他们修复的时候,Writerside IDE 都死了。Writerside 从此只能是 Jetbrains 众多 IDE 里的一个插件,再也不能自立门户了。单从这一个小问题上就能看出,Jetbrains 对这个软件根本不上心,他们就没有认真思考过用户的需求,也懒得打磨“听起来不够高大上”的基础功能。Jetbrains 的崛起就是靠把有用的东西做好,让开发重新变为乐趣。而从 Writerside 令人唏嘘的结局来看,Jetbrains 似乎已经忘了他的初心了。

标签: Jetbrains, 项目文档, Writerside