VS Code中Haskell扩展不显示代码行错误标记如何解决?
VS Code Haskell扩展无错误提示修复方案
可按以下顺序排查解决:
- 检查Haskell Language Server(HLS,扩展的静态检查核心服务)运行状态
打开VS Code的输出面板,筛选Haskell分类的日志,查看是否有启动失败报错。最常见的问题是HLS版本和你安装的GHC 9.2.1不兼容,如果你用ghcup管理Haskell工具链,直接执行命令ghcup install hls --ghc 9.2.1安装对应适配的HLS版本即可。 - 确认扩展诊断功能配置正确
打开Haskell扩展的设置页,检查以下开关已开启:Haskell > Diagnostics: Enable:诊断功能总开关Haskell > Diagnostics: On Change:修改代码时实时触发检查,不需要等待保存文件Haskell > Check Single File:没有cabal/stack项目结构时,也对单独的.hs文件执行检查
- 确认扩展能正确识别GHC路径
如果你没有将GHC 9.2.1的bin目录加入系统环境变量,可以在扩展设置的Haskell > Manage HLS: GHC Path项,手动填写GHC执行文件的绝对路径。 - 重启服务验证修复效果
按快捷键Ctrl+Shift+P(Mac系统为Cmd+Shift+P),选择Haskell: Restart Haskell LSP Server,等待服务重启完成后测试:
缺少Eq约束的类型签名shrink :: [a] -> [a]、括号未闭合的shrink (x:xs) = x : shrink (dropWhile (== x)都会正常抛出对应的错误标记。
内容的提问来源于stack exchange,提问作者Sassy Math
相关产品推荐
相关产品推荐

