首先安装ghcup并配置GHC、Cabal或Stack,再通过vscode安装Haskell扩展以启用HLS,确保打开整个项目文件夹而非单文件,最后验证工具链与HLS状态,即可实现语法高亮、自动补全与类型提示等功能。

在 VSCode 中配置 Haskell 开发环境,关键在于安装合适的工具链和扩展,确保语法高亮、自动补全、类型提示和错误检查等功能正常工作。下面是一步步实用的配置方法。
安装 Haskell 工具链(GHC 和 Cabal 或 Stack)
开发 Haskell 前必须先安装编译器和包管理工具:
- 推荐使用 ghcup 安装 GHC、Cabal 和 Stack。打开终端运行:
- 按照提示完成安装,它会帮你设置好 GHC(编译器)、Cabal(构建工具)或 Stack(项目管理工具)
- 安装完成后,在终端输入 ghc –version 和 cabal –version 验证是否成功
curl –proto ‘=https’ –tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
安装 VSCode 扩展:Haskell Language Server
Haskell Language Server(HLS)是核心组件,提供智能代码支持。
- 在 VSCode 扩展市场中搜索并安装 Haskell(由 Digital Asset 提供)
- 该扩展会自动尝试下载并管理 HLS,但你也可以手动安装
- 若需手动安装 HLS,可通过 ghcup:
- 确保 HLS 可执行文件在系统路径中,VSCode 才能调用它
ghcup install hls
配置项目结构与打开文件夹
VSCode 需要识别项目根目录才能启用完整功能。
- 新建一个 Haskell 项目时,建议使用 stack new myproject 或 cabal init
- 在 VSCode 中打开整个项目文件夹,而不是单个 .hs 文件
- 项目中应包含 .cabal 文件或 stack.yaml,HLS 依赖这些文件解析依赖和模块
- 打开 .hs 文件后,底部状态栏会显示“Loading…”然后变为“Ready”,表示 HLS 已就绪
验证与调试常见问题
如果功能未生效,可按以下方式排查:
- 按下 Ctrl+Shift+P 输入 “Haskell: Show Logs” 查看语言服务器日志
- 确认项目中没有多个不同版本的 cabal 文件冲突
- 确保没有防火墙或网络问题阻止 HLS 下载
- 若使用 Nix 或其他特殊环境,可能需要额外配置
hie.yaml或设置 HLS 路径
基本上就这些。配置完成后,你会拥有语法高亮、类型悬停提示、错误实时标记、自动导入建议等现代化开发体验。不复杂但容易忽略的是打开整个项目文件夹这一步,很多人只开单个文件导致 HLS 无法启动。