代码语义导航
lsp- 分组
- 文件与搜索
- 开启方式
- 对话设置「工具」页里它自己的开关。
- 审批
- 无需审查:在本页所说的限制内直接执行。
- 档案键
tool.lsp.description
向语言服务器询问代码:符号在哪里定义、在哪里被用到、是什么类型,以及谁调用了谁。
由哪个服务器回答取决于文件的扩展名。服务器的配置方法见代码语义导航。
什么时候询问你
通常一次调用按读取 filePath 处理,和 read 一样。如果工作区里有它自己的 .mework/lsp.json,每次调用在手动和允许编辑下都会询问,因为这个文件随项目而来,指定了 Mework 要启动的命令。来自你自己的 ~/.mework/lsp.json 或 Mework 内置的服务器不会触发这条规则。
限制
超过 10 MB 的文件不会发给服务器,一次请求最多等服务器 30 秒。
值得知道
已记录的 lsp 调用可以在时间线里修改,再用重新执行跑一次。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
character 必填列号 | integer | 从 1 开始,与编辑器显示的一致 |
filePath 必填文件路径 | string | The absolute or relative path to the file |
line 必填行号 | integer | 从 1 开始,与编辑器显示的一致 |
operation 必填操作 | string | 九种之一:goToDefinition、findReferences、hover、documentSymbol、workspaceSymbol、goToImplementation、prepareCallHierarchy、incomingCalls、outgoingCalls"goToDefinition" "findReferences" "hover" "documentSymbol" "workspaceSymbol" "goToImplementation" "prepareCallHierarchy" "incomingCalls" "outgoingCalls" |
query符号名 | string | 只用于 workspaceSymbol;空查询在多数语言服务器上没有结果 |