rust.lua 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. return {
  2. {
  3. "neovim/nvim-lspconfig",
  4. opts = {
  5. servers = {
  6. rust_analyzer = {
  7. settings = {
  8. ["rust-analyzer"] = {
  9. cargo = {
  10. allFeatures = true, -- 启用所有 Cargo features
  11. },
  12. checkOnSave = {
  13. command = "clippy", -- 使用 clippy 而不是默认检查
  14. },
  15. },
  16. },
  17. },
  18. },
  19. },
  20. },
  21. -- 增强 Rust 开发体验的插件
  22. {
  23. "simrat39/rust-tools.nvim", -- 提供额外 Rust 功能(如 inlay_hints)
  24. ft = "rust",
  25. config = function()
  26. require("rust-tools").setup({
  27. server = {
  28. settings = {
  29. ["rust-analyzer"] = {
  30. inlayHints = {
  31. enable = true, -- 显示类型提示
  32. },
  33. },
  34. },
  35. },
  36. })
  37. end,
  38. },
  39. -- 调试支持(可选)
  40. {
  41. "mfussenegger/nvim-dap",
  42. optional = true,
  43. dependencies = {
  44. {
  45. "williamboman/mason.nvim",
  46. opts = function(_, opts)
  47. opts.ensure_installed = opts.ensure_installed or {}
  48. table.insert(opts.ensure_installed, "codelldb") -- 调试器
  49. end,
  50. },
  51. },
  52. },
  53. }