新闻中心 分类>>

VSCode的Haskell插件:Haskell语言支持

2026-01-01 00:00:00
浏览次数:
返回列表
需安装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路径及版本。

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,此时悬浮光标即可查看类型签名与错误诊断。

搜索