Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. csharp.nvim

csharp.nvim

MITLua0.2.0

A Neovim plugin that enhances .NET development with automatic LSP setup, debugging, and code analysis features.

GitHubGitHub
273 stars15 forks0 contributors

What is csharp.nvim?

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.

Target Audience

.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.

Value Proposition

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.

Overview

Neovim plugin written in Lua, powered by omnisharp-roslyn, that aims to enhance the development experience for .NET developers.

Use Cases

Best For

  • Setting up a complete .NET development environment in Neovim quickly
  • Debugging .NET Core applications with launch profiles and environment variables
  • Managing and editing ASP.NET Core user secrets securely
  • Automatically fixing code issues across entire solutions with one command
  • Navigating to definitions in external dependencies with decompilation
  • Running and building .NET projects directly from the editor

Not Ideal For

  • Developers needing a plug-and-play Roslyn LSP setup without manual steps
  • Users who prefer minimal Neovim configurations with few dependencies
  • Teams that require stable, production-ready plugins without early-stage risks
  • Projects relying heavily on custom LSP configurations outside the plugin's automation

Pros & Cons

Pros

Automated LSP Setup

Installs and configures OmniSharp automatically via Mason, reducing the friction of setting up language servers for .NET development in Neovim.

Integrated Debugging Workflow

Automatically sets up netcoredbg with support for launch settings and project selection, providing an IDE-like debugging experience directly in the editor.

NET-Specific Productivity Tools

Includes features like user secrets management and fix-all solutions, which are tailored for ASP.NET Core and common .NET workflows, enhancing developer efficiency.

Enhanced Code Navigation

Offers go-to-definition with decompilation support for external code references, improving navigation beyond standard LSP capabilities.

Cons

Early Development Instability

The plugin is marked as in early development, which means it may have bugs, incomplete features, and breaking changes that could disrupt workflows.

Manual Roslyn LSP Setup

Using Roslyn LSP requires a cumbersome multi-step manual installation process, as detailed in the prerequisites, adding significant setup overhead.

Dependency Heavy

Relies on external plugins like mason.nvim and nvim-dap, which can bloat the Neovim setup and introduce potential conflicts or performance issues.

Open Source Alternative To

csharp.nvim is an open-source alternative to the following products:

Visual Studio
Visual Studio

A comprehensive integrated development environment (IDE) from Microsoft for building applications across multiple platforms, including Windows, web, mobile, and cloud.

Rider
Rider

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.

Frequently Asked Questions

Quick Stats

Stars273
Forks15
Contributors0
Open Issues10
Last commit1 year ago
CreatedSince 2023

Tags

#csharp#nvim-lua#neovim-plugin#dotnet#language-server-protocol#nvim-plugin#roslyn#neovim#code-analysis#nvim#debugging

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

nvim-javanvim-java

Painless Java in Neovim

Stars1,647
Forks88
Last commit3 months ago
flutter-tools.nvimflutter-tools.nvim

Tools to help create flutter apps in neovim using the native lsp

Stars1,391
Forks115
Last commit27 days ago
typst-preview.nvimtypst-preview.nvim

Low latency typst preview for Neovim

Stars932
Forks51
Last commit2 months ago
tsc.nvimtsc.nvim

A Neovim plugin for seamless, asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc)

Stars546
Forks34
Last commit4 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub