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



我最近在Visual Studio Code中安装了Haskell扩展,该扩展由Haskell语言服务器提供支持。每次我在编辑器中打开不同的Haskell文件时,都会有一个名为";haskell-anguage-server-1.0.0-linux-8.6.5";创建。这样做的结果是,每次我把鼠标悬停在程序中的一个单词上时,我都会看到所有的东西,比如写了两次的类型或错误。更重要的是,这些进程中的每一个都会消耗大约1 Gb的RAM,最终导致我的系统崩溃。我能做些什么来避免这一切吗?

我遇到了同样的问题。

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

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

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

最新更新