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

Manjaro系统中无法使用.NET CLI调用csharp-ls及Neovim LSP配置问题

Neovim中csharp-ls无法附着会话的解决方案

1. 确认Neovim的.NET环境变量

  • 打开Neovim,执行:!echo $PATH和:!dotnet --list-sdks,检查.NET的路径是否在Neovim的环境变量中,且能正常识别SDK版本。
  • 如果Neovim的PATH和终端不一致,将.NET的环境变量配置移到~/.profile(适用于大多数shell),或者确保你的shell配置文件(如.zshrc/.bashrc)在非交互式模式下也能加载。

2. 校验Mason安装的csharp-ls路径

  • 运行:Mason找到csharp-ls,查看其安装路径(默认在~/.local/share/nvim/mason/bin/)。
  • 在Neovim中执行:!which csharp-ls,确认输出路径和Mason的安装路径一致。若不一致,在你的Neovim配置文件中添加Mason的bin目录到PATH:
    vim.env.PATH = vim.env.PATH .. ":" .. vim.fn.stdpath("data") .. "/mason/bin"
    

3. 修正csharp-ls的LSP配置

  • 确保lspconfig中正确指定csharp-ls的启动命令,若自动识别失败,手动指定可执行文件路径:
    require('lspconfig').csharp_ls.setup{
      cmd = { vim.fn.stdpath("data") .. "/mason/bin/csharp-ls" },
      -- 保留其他原有配置
    }
    
  • 注意:csharp-ls需要识别项目结构,确保打开的.cs文件属于某个包含.sln或.csproj的项目目录。

4. 排查csharp-ls的安装与运行问题

  • 在Neovim中执行:!csharp-ls --version,若报错,回到终端重新安装:dotnet tool uninstall -g csharp-ls && dotnet tool install -g csharp-ls,完成后重启Neovim。
  • 检查Mason安装目录的读写权限,确保当前用户能访问该目录下的文件。

5. 通过日志定位具体问题

  • 打开.cs文件后,执行:LspLog查看LSP日志,搜索"csharp-ls"相关条目,根据错误提示(如连接超时、启动失败)进一步排查。
  • 确保nvim-lspconfig、Mason等插件为最新版本,执行:MasonUpdate更新所有已安装工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:13:17