语言服务器协议:工作区/符号请求

问题描述

乍一看,我对 workspace/symbol 请求的期望是语言服务器协议服务器实例将返回有关源文件中使用的所有文本标记的信息,例如关键字、名称(变量、函数、类、方法、接口等)函数调用(例如 println(...))、运算符符号(+ - * : & ...)和其他此类构造。相反,我开始探索的第一个服务器 (fwcd/kotlin-language-server) 只提供很少的符号信息,主要是属性、类和函数的声明。

乍一看,我现在的期望是 LSP 服务器实例有很大的余地来解释要返回的符号以及应该提供多少关于这些符号的信息。

作为LSP工具开发者,我想知道其他一些服务器实例在符号信息方面提供了什么。我的猜测是“不多”,但如果这是一个糟糕的猜测,那确实是一个令人惊喜的惊喜。

此时,我的理解是服务器实例只能提供底层编译器技术允许的尽可能多的符号信息。对于现代编译器,如 Kotlin、Rust、Go 和其他可能的编译器,这可能是很多信息。

关于典型 LSP 服务器实例提供的源代码符号和相关信息,这是 2021 年初 LSP 实践状态的公平表示吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)