Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
VisualStudio代码的Haskell扩展为每个文件启动一个新的Haskell语言服务器_Haskell_Visual Studio Code_Haskell Language Server - Fatal编程技术网

VisualStudio代码的Haskell扩展为每个文件启动一个新的Haskell语言服务器

VisualStudio代码的Haskell扩展为每个文件启动一个新的Haskell语言服务器,haskell,visual-studio-code,haskell-language-server,Haskell,Visual Studio Code,Haskell Language Server,我最近在VisualStudio代码中安装了Haskell扩展,它由Haskell语言服务器提供支持。每次我在编辑器中打开不同的Haskell文件时,都会创建一个名为“Haskell-language-server-1.0.0-linux-8.6.5”的新进程。这样做的结果是,每次我在程序中的一个单词上悬停时,我都会看到所有内容,比如两次写入的类型或错误。更重要的是,这些进程中的每一个都会消耗大约1GB的RAM,最终导致系统崩溃。我能做些什么来避免这一切吗?我遇到了同样的问题 为了解决这个问题,

我最近在VisualStudio代码中安装了Haskell扩展,它由Haskell语言服务器提供支持。每次我在编辑器中打开不同的Haskell文件时,都会创建一个名为“Haskell-language-server-1.0.0-linux-8.6.5”的新进程。这样做的结果是,每次我在程序中的一个单词上悬停时,我都会看到所有内容,比如两次写入的类型或错误。更重要的是,这些进程中的每一个都会消耗大约1GB的RAM,最终导致系统崩溃。我能做些什么来避免这一切吗?

我遇到了同样的问题

为了解决这个问题,我打开了包含所有需要的文件的文件夹,即文件->打开文件夹。如果所有想要的文件都位于一个文件夹中,则此解决方案就足够了。此文件夹可以包含也包含haskell文件(或任何类似的递归文件结构)的其他文件夹,并且仍然只会创建一个语言服务器

如果要使用位于不同文件夹中的文件,根据您愿意接受的语言服务器数量,有两个选项:

  • 单一语言服务器:将包含所需文件的所有文件夹移动到新文件夹;由于VisualStudio代码将其视为单个文件夹,因此只生成一个语言服务器
  • 语言服务器的特定限制:创建一个工作区,并向其中添加包含所需文件的文件夹。更具体地说:a)关闭任何当前工作区、文件夹或文件(这些操作可在“文件”菜单底部找到),b)通过文件向工作区添加所需文件夹->将文件夹添加到工作区,c)(可选)如果您将来想使用这种设置,可以通过文件->将工作区另存为来保存此工作区。通过“将文件夹添加到工作区”操作直接添加的每个添加的文件夹将生成一个新的语言服务器;以这种方式打开的文件夹数量决定了打开的文件夹数量,而不是打开的文件夹总数
  • 请与开发者讨论。