需依次完成五步配置:一、用Homebrew安装GHC/Cabal/Stack并验证;二、安装Haskell插件;三、用ghcup安装并设为默认HLS,配置VSCode指向haskell-language-server-wrapper;四、用stack new创建项目并用Open Folder打开根目录;五、设置自动保存格式化、指定formatter及禁用末尾空行。

如果您希望在 Visual Studio Code 中高效开发 Haskell 项目,但发现语法高亮异常、类型检查缺失或代码补全失效,则可能是 Haskell 开发环境未正确配置。以下是完成该环境设置的具体步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、安装 Haskell 工具链
VSCode 本身不内置 Haskell 支持,需先在系统层面安装核心编译与构建工具,为后续插件提供底层能力。
1、打开终端,执行 brew install ghc cabal-install stack 安装 Glasgow Haskell Compiler、Cabal 构建系统及 Stack 项目管理器。
2、运行 ghc --version 和 stack --version 验证命令行工具已可用。
3、执行 stack setup 下载并配置默认的 GHC 版本。
二、启用 Haskell 插件扩展
VSCode 依赖第三方语言服务器协议(LSP)插件实现智能感知,Haskell 提供了多个兼容 LSP 的后端实现,需选择其一并启用。
1、在 VSCode 扩展市场中搜索并安装 Haskell(由 Haskell Tool Stack 团队维护,ID: justusadam.language-haskell)。
2、重启 VSCode,确保插件处于启用状态。
3、打开一个 .hs 文件,观察右下角是否显示 Haskell (GHCUP) 或类似语言模式标识。
三、配置 HLS(Haskell Language Server)
HLS 是当前主流的 Haskell 语言服务器,负责提供类型提示、跳转定义、重构等核心功能,必须显式安装并与 VSCode 关联。
1、在终端中运行 ghcup install hls 安装最新稳定版 HLS。
2、运行 ghcup set hls latest 将其设为默认 HLS 版本。
3、在 VSCode 设置中搜索 haskell server path,将值设为 haskell-language-server-wrapper(确保该命令在 PATH 中可调用)。
四、初始化项目结构
VSCode 对 Haskell 项目的识别依赖于标准目录布局和配置文件,手动创建必要文件可避免插件无法加载项目上下文。
1、在项目根目录执行 stack new my-haskell-project 生成模板项目。
2、进入项目目录,运行 stack build 确保依赖可解析且 GHC 可编译源码。
3、在 VSCode 中使用 File → Open Folder 打开该项目根目录,而非单个 .hs 文件。
五、调整编辑器行为设置
默认设置可能与 Haskell 编码习惯冲突,需修改部分 VSCode 配置以匹配函数式编程规范。
1、在工作区设置中添加:"editor.formatOnSave": true。
2、添加:"haskell.formattingProvider": "fourmolu"(若已安装 fourmolu)或 "stylish-haskell"。
3、添加:"files.trimTrailingWhitespace": true 并禁用 "files.insertFinalNewline"(Haskell 社区普遍不强制末尾空行)。











