rust 怎么找到一个 struct 的所有 implementations?

如题, 我使用 eglot+rust-analyzer+rustic-mode.

在一个 struct 旁边的确显示了 10 implementations, 但有没有办法打开一个 buffer, 列出所有这 10 个 implementations? 我试了eglot-find-implementation, 报错:

eglot--current-server-or-lose: jsonrpc-error: "No current JSON-RPC connection", (jsonrpc-error-code . 32603), (jsonrpc-error-message . "No current JSON-RPC connection")

我想问, 我这是不是异常情况? 正常情况 eglot-find-implementation 应该可以 work? 还是我的方式不对, 应该用别的方式? 还是没有办法找到所有 implemenations?

consult-imenu 一定程度上可以, 可以搜索当前 buffer 内这个 struct 的 implementaion.

我只用了 lsp-mode 和 evil-mode , 按 “g i” 可以,对应的命令名称叫:

lsp-find-implementation is an interactive and natively compiled
function defined in lsp-mode.el.

Signature
(lsp-find-implementation &key DISPLAY-ACTION)

Documentation
Find implementations of the symbol under point.

Key Bindings
lsp-ui-mode-map <normal-state> g i
1 个赞