Turn Neovim on Linux into a productive .NET IDE with:
- C#, F#, VB.NET language server (OmniSharp)
- IntelliSense, go to definition, rename, code actions
- Inlay hints (parameter / chaining hints)
- Formatting with CSharpier and optional
dotnet format - Debugging via nvim-dap + netcoredbg
- Test running via neotest-dotnet +
dotnet test
This repo is a companion to:
- .NET on Linux: https://github.com/mavantgarderc/linuxXdotnet
It provides:
- Docs on the architecture and setup
- Config modules (Lua) you can copy into your own Neovim config
- Cheatsheets for daily .NET + Neovim usage
- Linux (Arch or Ubuntu, same focus as
linuxXdotnet) - .NET SDK installed via:
https://github.com/mavantgarderc/linuxXdotnet - Neovim ≥ 0.9
git- Plugin manager: lazy.nvim
- Install .NET SDK on Linux (see
linuxXdotnet). - Install Neovim via your distro.
- Add lazy.nvim to your config.
- Copy the modules from
config/into your Neovim config:nvimx/lsp/shared.luanvimx/lsp/omnisharp.luanvimx/cmp/init.luanvimx/dap/dotnet.lua(for debugging)nvimx/test/neotest-dotnet.lua(for tests)
- Add plugin specs from
config/lua/plugins/*.luainto your lazy setup.
Then:
- Open a
.sln/*.csprojproject - Confirm OmniSharp attached (
:LspInfo) - Use LSP keymaps (
<leader>gd,<leader>grn,<leader>ca, etc.) - Run tests (
neotest) and debug (nvim-dap)
| Path | Purpose |
|---|---|
cheats/ |
Short reference for day‑to‑day .NET + Neovim |
config/ |
Example Neovim config modules (LSP, DAP, cmp) |
docs/ |
Conceptual docs + setup guides |
Detailed docs:
docs/01-intro.md– Overview and goalsdocs/02-architecture-nvim-dotnet.md– How the pieces fit togetherdocs/03-setup-omnisharp-mason.md– OmniSharp with Mason + lazy.nvimdocs/04-formatting-and-csharpier.md– CSharpier + dotnet formatdocs/05-debugging-dap-dotnet.md– Debugging with nvim-dap + netcoredbgdocs/06-testing-neotest-dotnet.md– Running tests with neotest-dotnet
- .NET on Linux: https://github.com/mavantgarderc/linuxXdotnet
- SQL Server on Linux: https://github.com/mavantgarderc/sqlserverXlinux
- Neovim SQL tooling: https://github.com/mavantgarderc/sqlserverXnvim
MIT (same as other *X* repos).