dha*_*ech 1 haskell visual-studio-code haskell-language-server
我安装了以下适用于 Haskell 的 Visual Studio Code 扩展:
假设我创建了一个新的堆栈项目:
stack new vscode-red-squiggly-test
Run Code Online (Sandbox Code Playgroud)
并设置Lib.hs如下Main.hs:
这构建并运行得很好:
stack build
stack exec vscode-red-squiggly-test-exe
Run Code Online (Sandbox Code Playgroud)
现在,如果我添加一个项目xyz并Lib.hs在其中引用它Main.hs:
如您所见,下面出现了一条红色的波浪线xyz。
现在,我可以很好地构建并运行该程序。
当我将鼠标悬停在波浪形上时的提示如下:
如果我关闭 vscode,运行stack build,然后通过 重新启动 vscode code .,波浪就会消失。
那么...有没有一种方法可以让波浪消失而无需重新启动 vscode?
建议的快速修复是将以下内容添加到文件中:
{-# OPTIONS_GHC -Wno-deferred-out-of-scope-variables #-}
Run Code Online (Sandbox Code Playgroud)
然而,我显然想避免这种情况,因为它关闭了检测真正未定义变量的好功能。
code .。这无助于解决您的问题,这可能是 Haskell 语言服务器错误,但在 VS Code 中重新启动 Haskell 语言服务器的最快方法是:
Haskell: Restart Haskell LSP Server这解决了许多 HLS 问题,不幸的是,这通常是必要的,因为 HL 的生产环境还不太稳定。
哈斯克尔快乐!