使用Kate开发Haskell
发布于 - 修改于 - 大约需要 2 分钟 - 851 字前言
之所以想到用Kate开发Haskell是因为我一直是在虚拟机里开发Haskell,而虚拟机内存有限。Haskell的LSP(语言服务协议)服务器就能超过1个G, 如果再加上VSCode那一堆内存,实在有些撑不住。如果使用Vim或NVim与LSP的组合,我又有点不太拿手,配置的学习曲线也较为陡峭。
Kate是基于Qt开发的原生的编辑器,且支持LSP,因此就成了一个不错的选择。而且它也是个传统的窗口编辑器, 而不像Vim或Emac那样需要经过学习来使用。
安装
首先我们需要安装Kate和Haskell。
Kate只需要通过包管理正常安装即可。Haskell可通过ghcup安装GHC、Cabel、Haskell LSP这几个组件。 国内可采用中科大镜像。
配置
Kate的使用非常简单,这里就略过不表。LSP只需通过设置打开即可。内置设置完全支持Haskell,开箱即用。 但是依然需要手动调整一些地方。主要的注意事项有两个。
一个是Kate作为桌面软件,启动的环境与用户环境并不相同,因为Xfce等桌面环境并不会读取~/.bashrc
中的内容,也就不会更新PATH
变量。
因此我们需要在~/.profile
中添加PATH=$PATH:$HOME/.ghcup/bin
的内容,让Kate得以定位Haskell的LSP二进制文件。
另一个是Haskell的LSP存在一个问题,
导致导入Cabal项目时LSP不能正确识别*.cabal
中的内容。因此我们需要做的是在根目录下添加一个hie.yaml
文件,文件内容为:
cradle:
cabal:
总结
Kate作为一个编辑器,上手简单,功能强大,完全可以在部分任务上替代VSCode来减少内存使用量。
当然Kate与背后有着微软的VSCode相比,在人力物力上就弱了不少,依然存在相当多的问题,例如我使用时就有图标颜色不正常、 命令行部分奇怪的空白等问题。Kate维护者也解释了现状, 吐槽了部分不友好的行为——他们毕竟是出于爱好维护的。
如果读者朋友试用了Kate并觉得好用,并且具备相应技能,不妨考虑帮他们一把。