Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VSCode附加模块的haskell扩展中没有intellisense_Haskell_Visual Studio Code_Haskell Stack - Fatal编程技术网

VSCode附加模块的haskell扩展中没有intellisense

VSCode附加模块的haskell扩展中没有intellisense,haskell,visual-studio-code,haskell-stack,Haskell,Visual Studio Code,Haskell Stack,有没有办法让intellisense为其他模块(前奏之外的任何模块)工作,比如Quicktest或Random in-VS代码? 我正在使用: VSCode:1.55.0版 扩展名“Haskell v1.2.0”(使用haskel语言服务器) ghci:ghci,8.10.3版:https://www.haskell.org/ghc/ 堆栈:2.5.1版,Git修订版d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0 在Wi

有没有办法让intellisense为其他模块(前奏之外的任何模块)工作,比如Quicktest或Random in-VS代码? 我正在使用:

  • VSCode:1.55.0版
  • 扩展名“Haskell v1.2.0”(使用haskel语言服务器)
  • ghci:
    ghci,8.10.3版:https://www.haskell.org/ghc/
  • 堆栈:
    2.5.1版,Git修订版d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0
  • 在Windows10和WSL2(Debian)上直接试用
VSCode说:

Could not find module ‘Test.QuickCheck’
It is not a module in the current program, or in any known package.not found
所以,没有自动完成等

我认为原因是我通过
堆栈安装了Quicktest,而该堆栈使用了自己的“隔离”ghc。因此,我寻找了一种方法来配置VSCode扩展以使用我的
堆栈
环境的ghc,但没有成功

我也被黑线鳕和黑帮刺痛过,但没有成功


是否有人使用VS代码编写haskell代码并具有自动完成功能、鼠标悬停文档、wingman等功能?

我在一些本地模块中遇到了这个问题。我可以通过在项目的根目录中放置一个
hie.yaml
文件并重新加载VSCode来修复它。诚然,我真的不知道它做什么。我使用它生成了它,您可以使用
堆栈安装它

我认为问题在于LSP插件无法提取测试套件中的依赖项。我发现一个相当烦人的解决方法是在package.yaml中将测试依赖项移动到全局依赖项中。另一个是,例如,使用,以便识别多个子组件中的包。@Simon Shine隐式hie很酷,可以解决我的环境管理问题,但我的主要问题是VSCode中的intellisense不支持前奏之外的任何内容(如随机、快速测试等),在问题中添加了一个屏幕截图。您是说VSCode不支持测试套件中Prelude之外的任何东西,还是一般情况下?一般情况下。我在编辑器中没有自动完成等功能。在@Simon Shine指出,它适用于本地模块,但不适用于“第三方内容”之后,我已经尝试过了。当您导入
Random
时,您是否在vs代码编辑器中获得了自动完成+无错误…哦,对不起,我必须完全掩盖这一点。。。我现在明白你的意思了。我尝试导入
System.Random
,它告诉我它来自一个隐藏的包。通过在我的
cabal
文件中的
build dependens
条目中添加
random
并重新加载,我可以让它完全工作。我还运行了
stack install random
以防万一?我现在尝试了stack+hie.yaml,+cabal。已安装随机软件包和/或已添加随机软件包。。。是的,它编译,是的,它运行。但编辑的情况还是一样。。。没有自动完成,没有鼠标悬停的文档提示(wingman),以及输出中的错误。你在VS代码中有“编辑器支持”吗?