You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在lspconfig中配置lua_ls?添加后出现访问配置错误

解决lua_ls在lspconfig中无法访问配置的问题

问题根源

你仅通过mason-lspconfig的ensure_installed列表安装了lua_ls,但未让lspconfig正确加载该服务器的配置。mason-lspconfig的ensure_installed仅负责自动安装LSP服务器,不会自动完成lspconfig的配置注册。

解决方案

方法1:用mason-lspconfig的setup_handlers自动关联配置

修改你的mason-lspconfig配置,添加setup_handlers逻辑,自动让lspconfig加载对应服务器的默认配置(也可单独定制lua_ls的配置):

{
    "williamboman/mason-lspconfig.nvim",
    dependencies = {
        "neovim/nvim-lspconfig",
        "williamboman/mason.nvim"
    },
    config = function()
        require("mason-lspconfig").setup({
            ensure_installed = {
                "angularls",
                "bashls",
                "cssls",
                "eslint",
                "gopls",
                "html",
                "jsonls",
                "lua_ls",
                "rust_analyzer",
                "svelte",
                "tailwindcss",
                "tsserver",
                "yamlls",
            },
        })

        -- 自动注册所有已安装的LSP服务器
        require("mason-lspconfig").setup_handlers({
            -- 默认处理逻辑:加载服务器默认配置
            function(server_name)
                require("lspconfig")[server_name].setup({})
            end,
            -- 单独定制lua_ls的配置(适配neovim lua环境)
            ["lua_ls"] = function()
                require("lspconfig").lua_ls.setup({
                    settings = {
                        Lua = {
                            diagnostics = {
                                -- 识别neovim全局变量,避免误报
                                globals = {"vim"}
                            }
                        }
                    }
                })
            end
        })
    end,
},

方法2:手动在lspconfig中注册lua_ls

若不想用setup_handlers,可单独在配置中添加lua_ls的lspconfig注册逻辑:
确保neovim/nvim-lspconfig已通过lazy.nvim安装,然后添加:

-- 可放在独立的LSP配置文件,或mason-lspconfig的config代码之后
require("lspconfig").lua_ls.setup({
    settings = {
        Lua = {
            diagnostics = {
                globals = {"vim"}
            }
        }
    }
})

注意事项

  • 确认neovim/nvim-lspconfig插件已正确安装,它是mason-lspconfig依赖的核心LSP配置插件。
  • 可通过:Mason命令检查lua_ls是否已成功安装,若未安装,mason会自动触发安装流程。

内容的提问来源于stack exchange,提问作者zer09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:20:18