VSCode中Haskell Language Server无法识别Data.MultiSet模块求助
VSCode中HLS无法识别Data.MultiSet模块的问题
VSCode的Haskell Language Server(HLS)扩展在导入Data.MultiSet模块时出现识别异常,该模块被错误高亮,但使用stack test命令时程序可正常编译并通过测试。已尝试重启HLS,但未解决问题。
我的package.yaml配置如下:
name: anagram version: 1.4.0.8 dependencies: - base - multiset - text - containers library: exposed-modules: Anagram source-dirs: src ghc-options: -Wall tests: test: main: Tests.hs source-dirs: test dependencies: - anagram - hspec
相关版本信息:
- stack 2.15.5
- stack resolver: lts-20.25
- ghc 9.8.2
- cabal 3.10.3.0
- HLS 2.7.0.0
可能原因及解决方法
HLS未正确加载项目环境
在VSCode中打开命令面板(Ctrl+Shift+P/Cmd+Shift+P),执行Haskell: Select GHC,选择stack生成的对应版本GHC路径(通常在~/.stack/programs/目录下)。之后执行Haskell: Restart Haskell Language Server重启服务。HLS缓存过期
删除HLS缓存目录后重启服务:- Linux/macOS:删除
~/.cache/haskell-language-server/ - Windows:删除
%APPDATA%\haskell-language-server\
- Linux/macOS:删除
重新同步项目依赖
在VSCode终端执行stack build --dependencies-only确保所有依赖安装完成,之后重启HLS。修正环境版本匹配问题
lts-20.25默认对应GHC 9.2.8,若手动升级了GHC到9.8.2,需在stack.yaml中指定正确的GHC版本,避免环境不一致导致HLS识别异常。
内容的提问来源于stack exchange,提问作者Alexander Myltsev
相关产品推荐
相关产品推荐

