Fal*_*tes 8 vim vim-plugin language-server-protocol
我使用 vim-plug 为 Vim安装了ALE插件:
Plug 'dense-analysis/ale'
Run Code Online (Sandbox Code Playgroud)
该插件似乎已正确安装。例如,我可以使用 ALE 使用 Prettier 自动格式化文件。但我似乎无法得到任何使用语言服务器工作的东西。
例如,在以下 JavaScript 文件中,将光标add放在第 5 行的名称上并使用该:ALEGoToDefinition命令无效。
Plug 'dense-analysis/ale'
Run Code Online (Sandbox Code Playgroud)
我真的很努力地阅读文档。如果 LSP 服务器不提供跳转到的位置,ALE 帮助文件说“ALE 将不做任何事情”。那似乎是我的问题。但是GitHub 上的ALE 文档也说“ALE 与几乎所有 JavaScript 工具都很好地集成在一起,大多数事情应该无需任何配置即可运行。”
我肯定错过了什么。除了安装 ALE,是否需要启用使用语言服务器的功能?我应该在我的机器上全局安装某种语言服务器吗?
Reddit 上的用户toupeira为我回答了这个问题。在撰写本文时,ALE 支持的唯一 JavaScript 语言服务器是 tsserver。它随 TypeScript 一起提供。为了启用 ALE 的语言服务器功能,我需要全局安装 typescript 包。
npm install -g typescript
Run Code Online (Sandbox Code Playgroud)
我不需要手动启动服务器。ALE 似乎解决了这个问题。
唯一的另一个要求是 tsserver 作为 JavaScript“linter”启用。它是默认的。运行:AleInfo以查看为当前文件启用了哪些 linter。