过去,我尝试在 Emacs 中开发 Haskell 时获得更多类似 IDE 的体验,但我总是偶然发现不太有效的集成。
有没有办法让 GHC 驱动的基本功能(例如查找标识符类型或使用 flymake 即时编译)才有效*。我所说的只是工作,我的意思是与生态系统的其他部分(例如 haskell-mode、cabal)很好地集成?
* Just works here 基本上意味着:只需要在 init.el 中进行一些基本配置,并且可能从 Hackage 安装一些包。
最佳答案
对于内联错误检查,hdevtools是我发现的最好的。它是一个运行 GHC 的后台服务器,以加快分析程序的速度。
它实际上很容易安装:你需要一个 Haskell 包:
cabal install hdevtools
和两个 Emacs 包,都通过
M-x list-packages
: flycheck
和 flycheck-hdevtools
.安装后,您只需要使用
M-x global-flycheck-mode
之类的东西来启用它。 (您也可以将其放入您的 .emacs
中。)您可以使用 C-x `
转到下一个错误.您可能还想更改错误和警告面,您可以使用 M-x customize-group flycheck-faces
.不幸的是,Emacs 模式只做错误和警告(包括 hlint);它不公开检索标识符的类型,我相信
hdevtools
支持。当遇到 Unicode 变量名或某些扩展名时,它有时也会给我随机的解析错误;但是,如果我只是忽略它们,其他一切都会起作用。我可能应该提交一个错误报告或其他东西。
关于haskell - 如何快速轻松地为 Emacs 配置 GHC 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22296676/