上下文:
我运行 Windows 计算机,并使用 GHCup 安装了 Haskell 工具链。最初,我对设置过程中提到的所有选项都选择了“Y”。Stack、Cabal、ghc(8.10.7 - 推荐)已工作并且正在路径上(安装参考链接附在最后)。
问题:
Haskell 语言服务器扩展不提供 Intellisense。在我第一次安装后的一小段时间里确实如此,但之后就再也没有出现过。
我尝试过但不起作用的事情:
尝试重新安装所有内容,但这也不起作用。
使用 ghcup 堆栈附带的最新/相同版本的 ghc。(堆栈 ghc ---版本 = 9.0.2,ghc --版本 = 9.0.2)
注意:我也执行了以下命令,具有不同的组合(但以某种逻辑上相关的顺序)
我最终得到的只是这条神秘的消息(如下所示。“testing-p”是项目名称)。
安装参考:
https://betterprogramming.pub/haskell-vs-code-setup-in-2021-6267cc991551
haskell visual-studio-code vscode-extensions haskell-language-server ghcup
我安装了以下适用于 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 .。