我正在尝试配置我的 lua LSP,但它一直给我
"Client 1 quit with exit code 1 and signal 0"
警告,并且它(LSP)不会运行。我不知道为什么会这样。每次我打开 lua 文件时,它都会不断打印该警告消息。
NVIM v0.9.2
Build type: RelWithDebInfo
LuaJIT 2.1.1694082368
Compilation: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe /MD /Zi /O2 /Ob1 -W3 -wd4311 -wd4146 -DUNIT_TESTING -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_WIN32_WINNT=0x0602 -DMSWIN -DINCLUDE_GENERATED_DECLARATIONS -ID:/a/neovim/neovim/.deps/usr/include/luajit-2.1 -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/build/src/nvim/auto -ID:/a/neovim/neovim/build/include -ID:/a/neovim/neovim/build/cmake.config -ID:/a/neovim/neovim/src -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include
system vimrc file: "$VIM\sysinit.vim"
fall-back for $VIM: "C:/Program Files (x86)/nvim/share/nvim"
Run :checkhealth for more info
vim.lsp.set_log_level "debug"
local ready, lspconfig = pcall(require, "lspconfig")
if not ready then
print "ERROR: C:/User/Alpha/AppData/Local/nvim/plugin/lspconfig rc.lua: Failed to load nvim-lspconfig"
return
end
local protocol = require "vim.lsp.protocol"
local augroup_format = vim.api.nvim_create_augroup("Format", { clear = true })
local enable_format_on_save = function(_, bufnr)
vim.api.nvim_clear_autocmds { group = augroup_format, buffer = bufnr }
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup_format,
buffer = bufnr,
callback = function()
vim.lsp.buf.format { bufnr = bufnr }
end
})
end
local on_attach = function(client, bufnr)
local function buf_set_keymap(...)
vim.api.nvim_buf_set_keymap(bufnr, ...)
end
local opts = { noremap = true, silent = true }
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
buf_set_keymap("n", "gi", "<Cmd>lua vim.lsp.buf.implementation()<CR>", opts)
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
end
-- local capabilities = require "cmp_lspconfig .default_capabilities()
lspconfig.clangd.setup {
on_attach = function(client, bufnr)
client.server_capabilities.signatureHelpProvider = false
on_attach(client, bufnr)
end,
-- capabilities = capabilities
}
lspconfig.lua_ls.setup {
on_attach = function(client, bufnr)
on_attach(client, bufnr)
enable_format_on_save(client, bufnr)
end,
-- capabilities = capabilities
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false
}
}
}
}
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {
underline = true,
update_in_insert = false,
virtual_text = { spacing = 4, prefix = "\u{ea71}" },
severity_sort = true
}
)
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
end
vim.diagnostic.config {
virtual_text = {
prefix = "●"
},
update_in_insert = true,
float = {
source = "always"
}
}
Client 1 quit with exit code 1 and signal 0
该警告消息消失,LSP 开始工作。
尝试重新安装lsp语言。它适用于 Windows 上的 WSL2。