A Neovim plugin for C# development, providing a solution explorer and project management tools.
C# is a powerful language, and Neovim is a powerful editor. This project is part of a series of plugins that aim to bring the best of C# development to Neovim, making it a viable alternative to traditional IDEs like Visual Studio and Rider.
This project is a work in progress. It is not yet ready for production use, but you can try it out and contribute to its development. The goal is to provide a complete C# development experience in Neovim.
Stay tuned for updates and new features. If you have any suggestions or feedback, please open an issue or a pull request.
- Solution file parser for loading nested projects
- Project tree builder
- Partially complete tree renderer
Here's the recommended way to setup this plugin with Lazy.
return {
"xentropic-dev/explorer.dotnet.nvim",
config = function()
require("dotnet_explorer").setup({
renderer = {
width = 40,
side = "right",
},
})
end,
keys = {
{ "<leader>ee", "<cmd>ToggleSolutionExplorer<cr>", desc = "Toggle Solution Explorer" },
},
}
The goal is to eventually have as much of the functionality of Visual Studio and Rider as possible, but with a Neovim emphasis on keyboard navigation and shortcuts.
Tree view components:
- file tree
- file icons
- code behind grouping
- razor, razor.cs, razor.css, razor.js etc.
- appsettings.json, appsettings.Development.json, etc.
- expand/collapse folders
- controls to open/close files
- Special c# icons
- Properties
- wwwroot
- github integration (file/icon highlighting)
- dependencies section
- ⚙ imports
- ⛭ .NET dependencies
- file management
- create file
- class
- interface
- razor component
- delete file
- rename file
- investigate smart rename with LSP
- ability to rename file and class
- move file
- ability to automatically update namespaces with LSP
- copy file
- upload file
- create file
- helpers
- intelligent default namespace on cs files
- templates for file creation (class, interface, razor component, etc.)
- file search
- projects
- create project
- delete project
- rename project
- move project
- copy project
- templates and scaffolding
- picker ui for selection project templates
- configuration wizards for creating projects from templates
- create solution from template
- create project from template
- create file from template
- support for new .NET slnx file format
