需安装Stack与GHC、Haskell官方插件、匹配版本的HLS,并配置serverPath路径,最后用stack new创建项目并在文件夹中打开,才能启用VSCode的Haskell语法高亮、类型提示与自动补全功能。

如果您在Visual Studio Code中编写Haskell代码,但无法获得语法高亮、类型提示或自动补全等功能,则可能是由于Haskell语言支持未正确配置。以下是启用并优化VSCode中Haskell语言支持的步骤:
本文运行环境:MacBook Pro,macOS Sequoia。
一、安装Haskell Tool Stack与GHC
VSCode的Haskell插件依赖本地Haskell编译工具链提供语言服务。必须先安装Stack和GHC,否则插件无法启动语言服务器。Stack会自动管理GHC版本,并为项目提供隔离的构建环境。
1、打开终端,执行命令 brew install haskell-stack 安装Stack(macOS用户)。
2、运行 stack setup 下载并安装默认GHC版本。
3、验证安装:执行 stack ghc --version 确认GHC可用。
二、安装Haskell官方插件(Haskell)
VSCode Marketplace中由Haskell.org官方维护的“Haskell”插件(ID: Haskell.haskell)是当前推荐的核心扩展,它集成Haskell Language Server(HLS),提供完整LSP功能。
1、在VSCode中按 Cmd+Shift+X 打开扩展面板。
2、搜索 Haskell,找到发布者为 Haskell.org 的插件。
3、点击“安装”,安装完成后重启VSCode窗口。
三、手动安装Haskell Language Server(HLS)
插件本身不自带HLS二进制文件,需单独安装匹配当前GHC版本的HLS。若项目使用GHC 9.6.4,必须安装对应HLS版本,否则语言服务将静默失败。
1、在项目根目录下运行 stack exec -- which ghc 确认GHC路径及版本。
多功能手机端日期日历插件mobiscroll,多功能手机端选择器插件,不仅仅支持日期日历选择,还支持其他选项,多皮肤选择,多事件方式,触摸、点击,多国语言支持,非常强大的手机端选择插件,推荐使用。
2、执行 ghcup install hls(需先安装ghcup)或使用Stack安装:stack install --resolver nightly haskell-language-server。
3、运行 haskell-language-server --probe-tools 验证HLS可执行且工具链就绪。
四、配置VSCode设置以启用LSP
默认情况下插件可能未启用语言服务器,需显式指定HLS路径或启用自动发现。错误的路径配置会导致“Language server is not running”提示。
1、按下 Cmd+, 打开设置界面,切换至“JSON”编辑模式(右上角按钮)。
2、在 settings.json 中添加键值对:"haskell.serverPath": "/Users/yourname/.ghcup/bin/haskell-language-server"(路径需替换为实际HLS位置)。
3、确保启用LSP:"haskell.trace.server": "messages" 可用于调试通信细节。
五、使用Cabal或Stack初始化项目结构
HLS需要识别项目构建系统才能加载依赖与模块路径。裸文件(如单独.hs文件)无法触发完整类型检查,必须置于合法Cabal包或Stack项目中。
1、在空目录中运行 stack new my-haskell-app 创建标准Stack项目。
2、进入项目目录,执行 code . 在VSCode中打开该文件夹(而非单个文件)。
3、等待右下角状态栏显示 HLS: Ready,此时悬浮光标即可查看类型签名与错误诊断。









