Neovim内置LSP使用csharp_ls报错csharp_ls为nil值如何解决
问题原因
报错E5108: Error executing lua [string ":lua"]:1: attempt to index field 'csharp_ls' (a nil value)的核心原因是你安装的nvim-lspconfig插件版本过旧,内置的LSP服务配置列表中还没有加入csharp_ls的相关支持。
解决步骤
- 第一步:确认Neovim版本符合要求
新版nvim-lspconfig要求Neovim版本≥0.8,你可以在Neovim中执行:version查看版本号,若版本低于要求请先升级Neovim。 - 第二步:更新
nvim-lspconfig插件
你使用vim-plug作为插件管理器,可以直接在Neovim中执行命令更新插件:
如果更新后问题仍然存在,可以删除本地旧版插件文件后重新安装::PlugUpdate nvim-lspconfig
先退出Neovim,执行命令删除旧插件:
再打开Neovim执行安装命令:rm -rf ~/.config/nvim/plugged/nvim-lspconfig:PlugInstall nvim-lspconfig - 第三步:补充PATH配置(避免后续启动报错)
你安装的csharp-ls存放在~/.dotnet/tools目录下,需要将该路径加入系统环境变量PATH中,否则后续LSP启动时会提示找不到可执行文件。你可以在shell的配置文件(/.bashrc、/.zshrc等,对应你使用的shell)末尾加入以下内容:
保存后执行export PATH="$PATH:$HOME/.dotnet/tools"source ~/.bashrc(对应你修改的配置文件名称)即可生效。
内容的提问来源于stack exchange,提问作者himynameisgarch
相关产品推荐
相关产品推荐

