Shu*_*oni 4

首先我们先来了解一下什么是Language Server Protocol.

语言服务器协议(LSP)

语言服务器协议 (LSP) 定义了编辑器或 IDE 与语言服务器之间使用的协议,该协议提供自动完成、转到定义、查找所有引用等语言功能。语言服务器索引格式(LSIF,发音为“else if”)是为了支持开发工具或 Web UI 中的丰富代码导航,而无需源代码的本地副本。

Dart Code 几个月前宣布,他们将改用语言服务器协议来与 Dart 语言服务器进行通信,现在正在实施。看这里

使用语言服务器协议(LSP)的优点:

  • 自动完成
  • 关于悬停的文档
  • 转到定义

启用它将为您提供更好的编码体验,包括来自 Dart 语言服务器而不是本地副本的提示、自动完成等。

  • “优点”下的最后几件事不太准确。这些东西在 LSP 之前就已经可用了,他们只是使用自定义的 Dart 服务器协议来实现它们。大多数情况下,迁移到 LSP 的过程对用户来说应该是不可见的,尽管有一些特定的事情(例如代码完成)应该可以更好地工作,因为与所有其他 VS Code 扩展共享线程的工作量较少。 (2认同)