Skip to content
On this page

LSP配置

安装lsp server

在开始之前,强烈建议您先完成LSP配置的学习: lspconfig仓库.

然后检查 server_configurations.md 确保您的语言的LSP server在列表中存在。

  • custom/plugins.lua
lua
-- 为了修改`lspconfig`配置:
{
  "neovim/nvim-lspconfig",
   config = function()
      require "plugins.configs.lspconfig"
      require "custom.configs.lspconfig"
   end,
},

  • custom/configs/lspconfig.lua
lua
local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities

local lspconfig = require "lspconfig"
local servers = { "html", "cssls", "clangd"}

for _, lsp in ipairs(servers) do
  lspconfig[lsp].setup {
    on_attach = on_attach,
    capabilities = capabilities,
  }
end

-- 在循环之外的lsp,你就需要手动设置每个LSP了 
-- 
-- lspconfig.html.setup {
--   on_attach = on_attach,
--   capabilities = capabilities,
-- }
--
-- lspconfig.cssls.setup {
--   on_attach = on_attach,
--   capabilities = capabilities,
-- }

Mason.nvim

mason.nvim插件主要用于安装LSP servers,代码格式化,linters,和调试适配器。最好覆盖Mason的默认配置,并列出所有需要的语言的软件包,以便在运行MasonInstallAll命令时可以自动安装它们。

您可以使用:Mason命令来找到所有LSP包的确切名称,此时会打开一个窗口。

lua
{
   "williamboman/mason.nvim",
   opts = {
      ensure_installed = {
        "lua-language-server",
        "html-lsp",
        "prettier",
        "stylua"
      },
    },
  }

当二进制文件安装完毕后,您还必须要配置LSP,null-ls,nvim-dap等之后才可以正确使用它们。这取决于你安装的具体内容。 NvChad不提供除了lua之外的任何语言配置.

Powered by VitePress