A Neovim plugin that enhances .NET development with automatic LSP setup, debugging, and code analysis features.
csharp.nvim is a Neovim plugin written in Lua that enhances the development experience for .NET developers. It provides automatic setup of language servers (OmniSharp or Roslyn), integrated debugging with netcoredbg, and various code analysis and project management tools directly within Neovim. The plugin solves the problem of fragmented tooling and complex configuration for .NET development in terminal-based editors.
.NET developers who use Neovim as their primary code editor and want a streamlined, IDE-like experience with minimal setup. It is particularly useful for those working on ASP.NET Core projects, multi-project solutions, or who need advanced debugging and code navigation features.
Developers choose csharp.nvim because it automates the tedious setup of .NET tooling in Neovim, offering a cohesive suite of features—LSP, debugging, project running, and code fixes—out of the box. Its unique selling point is the deep integration with .NET-specific workflows, such as launch settings support and user secrets management, which are typically only available in full IDEs.
Neovim plugin written in Lua, powered by omnisharp-roslyn, that aims to enhance the development experience for .NET developers.
Installs and configures OmniSharp automatically via Mason, reducing the friction of setting up language servers for .NET development in Neovim.
Automatically sets up netcoredbg with support for launch settings and project selection, providing an IDE-like debugging experience directly in the editor.
Includes features like user secrets management and fix-all solutions, which are tailored for ASP.NET Core and common .NET workflows, enhancing developer efficiency.
Offers go-to-definition with decompilation support for external code references, improving navigation beyond standard LSP capabilities.
The plugin is marked as in early development, which means it may have bugs, incomplete features, and breaking changes that could disrupt workflows.
Using Roslyn LSP requires a cumbersome multi-step manual installation process, as detailed in the prerequisites, adding significant setup overhead.
Relies on external plugins like mason.nvim and nvim-dap, which can bloat the Neovim setup and introduce potential conflicts or performance issues.
csharp.nvim is an open-source alternative to the following products:
A comprehensive integrated development environment (IDE) from Microsoft for building applications across multiple platforms, including Windows, web, mobile, and cloud.
Rider is a cross-platform .NET IDE developed by JetBrains for C#, F#, VB.NET, and other .NET languages, providing intelligent code completion, debugging, and refactoring tools.
Painless Java in Neovim
Tools to help create flutter apps in neovim using the native lsp
Low latency typst preview for Neovim
A Neovim plugin for seamless, asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.