feat(rust): 添加rust插件
This commit is contained in:
@@ -25,6 +25,7 @@ require("lazy").setup({
|
||||
require("plugins.comment"),
|
||||
require("plugins.project"),
|
||||
require("plugins.runner"),
|
||||
require("plugins.rustaceanvim"),
|
||||
-- LSP
|
||||
require("plugins.lsp.mason"),
|
||||
require("plugins.lsp.lspconfig"),
|
||||
|
||||
@@ -94,7 +94,6 @@ return {
|
||||
|
||||
rustfmt = {
|
||||
command = "rustfmt",
|
||||
args = { "--emit=stdout" },
|
||||
stdin = true,
|
||||
},
|
||||
},
|
||||
|
||||
47
lua/plugins/rustaceanvim.lua
Normal file
47
lua/plugins/rustaceanvim.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
return {
|
||||
"mrcjkb/rustaceanvim",
|
||||
version = "^3", -- 推荐使用稳定版本
|
||||
ft = { "rust" },
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap", -- 依赖已有的 DAP 框架
|
||||
"rcarriga/nvim-dap-ui",
|
||||
},
|
||||
config = function()
|
||||
vim.g.rustaceanvim = {
|
||||
server = {
|
||||
on_attach = function(client, bufnr)
|
||||
-- 保持与现有 LSP 快捷键一致
|
||||
local opts = { buffer = bufnr, desc = "Rust LSP 操作" }
|
||||
vim.keymap.set("n", "gd", "<cmd>lua vim.lsp.buf.definition()<cr>", opts)
|
||||
vim.keymap.set("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", opts)
|
||||
vim.keymap.set("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<cr>", opts)
|
||||
end,
|
||||
},
|
||||
dap = {
|
||||
adapter = {
|
||||
type = "executable",
|
||||
command = "lldb-vscode", -- 需要安装 lldb-vscode
|
||||
name = "lldb",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- 调试快捷键(与现有 DAP 快捷键保持一致)
|
||||
local opts = { noremap = true, silent = true, buffer = 0 }
|
||||
vim.keymap.set("n", "<F6>", function()
|
||||
require("dap").continue()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<F10>", function()
|
||||
require("dap").step_over()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<F11>", function()
|
||||
require("dap").step_into()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<F12>", function()
|
||||
require("dap").step_out()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<leader>b", function()
|
||||
require("dap").toggle_breakpoint()
|
||||
end, opts)
|
||||
end,
|
||||
}
|
||||
@@ -5,7 +5,6 @@ return {
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = {
|
||||
"c",
|
||||
"c++",
|
||||
"vim",
|
||||
"lua",
|
||||
"javascript",
|
||||
|
||||
Reference in New Issue
Block a user