You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Neovim中通过lspconfig执行typescript.goToSourceDefinition?执行无响应

解决Neovim中TypeScript跳转到实际实现而非类型定义的问题

你当前调用typescript.goToSourceDefinition无反应的核心原因是命令参数格式不符合tsserver的要求。tsserver对该命令的参数结构有明确规定,不能直接将uri和position作为独立参数传入,需要包裹在指定结构的对象中。

修正后的代码

直接复用make_position_params返回的完整参数对象即可,它完全符合tsserver的参数要求:

local params = vim.lsp.util.make_position_params()
vim.lsp.buf.execute_command({
  command = "typescript.goToSourceDefinition",
  arguments = { params }
})

参数格式说明

原来的代码把params.textDocument.uri和params.position拆成两个独立参数传入,但tsserver期望的是包含textDocument和position字段的对象数组。上面的代码直接将完整的params对象放入arguments数组,完美匹配tsserver的参数规范,执行后就能正确跳转到.ts文件中的函数实际实现,而非.d.ts的类型定义。

内容的提问来源于stack exchange,提问作者cheezsteak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 09:24:50