How to generate impl block in neovim using rust-tools?

问题描述 投票:0回答:0

下面是我当前的配置

-- plugins-setup.lua
local status, packer = pcall(require, "packer")
if not status then
    return
end

return packer.startup(function(use)
    -- snip
    use("williamboman/mason.nvim")
    use("williamboman/mason-lspconfig.nvim")
    use("simrat39/rust-tools.nvim")
    use("rust-lang/rust.vim")
    -- snip
-- rust-tools.lua
local rt = require("rust-tools")

rt.setup({
    server = {
        on_attach = function(_, bufnr)
            -- Hover actions
            vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
            -- Code action groups
            vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
        end,
    },
})

我有 init.lua 需要以上所有内容。

我要:

struct Foo {}

impl Display for Foo {}

成为:

struct Foo {}

impl Display for Foo {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        todo!()
    }
}

可在以下机队中使用:

是否可以在 neovim 中做同样的事情?如果是,我想要一份设置说明。如果没有,任何解释将不胜感激。

neovim
© www.soinside.com 2019 - 2024. All rights reserved.